• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KIO

  • sources
  • kde-4.14
  • kdelibs
  • kio
  • kio
ksambasharedata.cpp
Go to the documentation of this file.
1 /*
2  * Copyright 2010 Rodrigo Belem <rclbelem@gmail.com>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) version 3, or any
8  * later version accepted by the membership of KDE e.V. (or its
9  * successor approved by the membership of KDE e.V.), which shall
10  * act as a proxy defined in Section 6 of version 3 of the license.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library. If not, see <http://www.gnu.org/licenses/>
19  */
20 
21 #include <QtCore/QRegExp>
22 #include <QtCore/QFileInfo>
23 #include <QtCore/QStringList>
24 
25 #include "ksambashare.h"
26 #include "ksambashare_p.h"
27 #include "ksambasharedata.h"
28 #include "ksambasharedata_p.h"
29 
30 //TODO: add support for this samba options
31 // usershare allow guests=P_BOOL,FLAG_ADVANCED
32 // usershare max shares=P_INTEGER,FLAG_ADVANCED
33 // usershare owner only=P_BOOL,FLAG_ADVANCED
34 // usershare path=P_STRING,FLAG_ADVANCED
35 // usershare prefix allow list=P_LIST,FLAG_ADVANCED
36 // usershare prefix deny list=P_LIST,FLAG_ADVANCED
37 // usershare template share=P_STRING,FLAG_ADVANCED
38 
39 KSambaShareData::KSambaShareData()
40  : dd(new KSambaShareDataPrivate)
41 {
42 }
43 
44 KSambaShareData::KSambaShareData(const KSambaShareData &other)
45  : dd(other.dd)
46 {
47 }
48 
49 KSambaShareData::~KSambaShareData()
50 {
51 }
52 
53 QString KSambaShareData::name() const
54 {
55  return dd->name;
56 }
57 
58 QString KSambaShareData::path() const
59 {
60  return dd->path;
61 }
62 
63 QString KSambaShareData::comment() const
64 {
65  return dd->comment;
66 }
67 
68 QString KSambaShareData::acl() const
69 {
70  return dd->acl;
71 }
72 
73 KSambaShareData::GuestPermission KSambaShareData::guestPermission() const
74 {
75  return (dd->guestPermission == QLatin1String("n")) ? GuestsNotAllowed : GuestsAllowed;
76 }
77 
78 KSambaShareData::UserShareError KSambaShareData::setName(const QString &name)
79 {
80  if (!KSambaShare::instance()->d_func()->isShareNameValid(name)) {
81  return UserShareNameInvalid;
82  }
83 
84  if (!KSambaShare::instance()->d_func()->isShareNameAvailable(name)) {
85  return UserShareNameInUse;
86  }
87 
88 
89  if (!dd->name.isEmpty()) {
90  dd.detach();
91  }
92 
93  dd->name = name;
94 
95  return UserShareNameOk;
96 }
97 
98 KSambaShareData::UserShareError KSambaShareData::setPath(const QString &path)
99 {
100  UserShareError result = KSambaShare::instance()->d_func()->isPathValid(path);
101  if (result == UserSharePathOk) {
102  dd->path = path;
103  }
104 
105  return result;
106 }
107 
108 KSambaShareData::UserShareError KSambaShareData::setComment(const QString &comment)
109 {
110  dd->comment = comment;
111 
112  return UserShareCommentOk;
113 }
114 
115 KSambaShareData::UserShareError KSambaShareData::setAcl(const QString &acl)
116 {
117  UserShareError result = KSambaShare::instance()->d_func()->isAclValid(acl);
118  if (result == UserShareAclOk) {
119  dd->acl = acl;
120  }
121 
122  return result;
123 }
124 
125 KSambaShareData::UserShareError KSambaShareData::setGuestPermission(const GuestPermission &permission)
126 {
127  UserShareError result = KSambaShare::instance()->d_func()->guestsAllowed(permission);
128  if (result == UserShareGuestsOk) {
129  dd->guestPermission = (permission == GuestsNotAllowed) ? "n" : "y";
130  }
131 
132  return result;
133 }
134 
135 KSambaShareData::UserShareError KSambaShareData::save()
136 {
137  if (dd->name.isEmpty()) {
138  return UserShareNameInvalid;
139  } else if (dd->path.isEmpty()) {
140  return UserSharePathInvalid;
141  } else {
142  return KSambaShare::instance()->d_func()->add(*this);
143  }
144 }
145 
146 KSambaShareData::UserShareError KSambaShareData::remove()
147 {
148  if (dd->name.isEmpty()) {
149  return UserShareNameInvalid;
150  } else {
151  return KSambaShare::instance()->d_func()->remove(*this);
152  }
153 }
154 
155 KSambaShareData &KSambaShareData::operator=(const KSambaShareData &other)
156 {
157  if (&other != this) {
158  dd = other.dd;
159  }
160 
161  return *this;
162 }
163 
164 bool KSambaShareData::operator==(const KSambaShareData &other) const
165 {
166  return other.dd == dd;
167 }
168 
169 bool KSambaShareData::operator!=(const KSambaShareData &other) const
170 {
171  return !(&other == this);
172 }
KSambaShareData::UserSharePathOk
Definition: ksambasharedata.h:54
ksambashare.h
KSambaShareData::remove
KSambaShareData::UserShareError remove()
Unshare the folder held by the object.
Definition: ksambasharedata.cpp:146
KSambaShareData::~KSambaShareData
~KSambaShareData()
Definition: ksambasharedata.cpp:49
QExplicitlySharedDataPointer::detach
void detach()
KSambaShareData::GuestsAllowed
Definition: ksambasharedata.h:45
KSambaShareData::save
KSambaShareData::UserShareError save()
Share the folder with the information that has been set.
Definition: ksambasharedata.cpp:135
KSambaShareData::operator=
KSambaShareData & operator=(const KSambaShareData &other)
Definition: ksambasharedata.cpp:155
KSambaShareData::path
QString path() const
Definition: ksambasharedata.cpp:58
KSambaShareData
This class represents a Samba user share.
Definition: ksambasharedata.h:39
KSambaShare::instance
static KSambaShare * instance()
Definition: ksambashare.cpp:498
KSambaShareData::operator==
bool operator==(const KSambaShareData &other) const
Definition: ksambasharedata.cpp:164
KSambaShareData::setName
KSambaShareData::UserShareError setName(const QString &name)
Sets the share name.
Definition: ksambasharedata.cpp:78
KSambaShareData::UserShareNameInvalid
Definition: ksambasharedata.h:52
KSambaShareData::UserShareError
UserShareError
Definition: ksambasharedata.h:48
KSambaShareData::UserShareCommentOk
Definition: ksambasharedata.h:63
KSambaShareData::UserShareGuestsOk
Definition: ksambasharedata.h:64
KSambaShareData::setComment
KSambaShareData::UserShareError setComment(const QString &comment)
Sets the comment for the share.
Definition: ksambasharedata.cpp:108
KSambaShareData::UserShareNameInUse
Definition: ksambasharedata.h:53
ksambasharedata_p.h
ksambashare_p.h
KSambaShareData::UserShareNameOk
Definition: ksambasharedata.h:51
KSambaShareData::setGuestPermission
KSambaShareData::UserShareError setGuestPermission(const GuestPermission &permission=KSambaShareData::GuestsNotAllowed)
Flags if guest is allowed or not to access the share.
Definition: ksambasharedata.cpp:125
QString
KSambaShareData::UserSharePathInvalid
Definition: ksambasharedata.h:55
KSambaShareData::guestPermission
KSambaShareData::GuestPermission guestPermission() const
Definition: ksambasharedata.cpp:73
KSambaShareData::GuestsNotAllowed
Definition: ksambasharedata.h:44
ksambasharedata.h
KSambaShareData::setPath
KSambaShareData::UserShareError setPath(const QString &path)
Set the path for the share.
Definition: ksambasharedata.cpp:98
QLatin1String
KSambaShareData::UserShareAclOk
Definition: ksambasharedata.h:60
KSambaShareData::name
QString name() const
Definition: ksambasharedata.cpp:53
KSambaShareData::comment
QString comment() const
Definition: ksambasharedata.cpp:63
KSambaShareData::KSambaShareData
KSambaShareData()
Definition: ksambasharedata.cpp:39
KSambaShareData::acl
QString acl() const
Returns a containing a string describing the permission added to the users, such as "[DOMAIN\]usernam...
Definition: ksambasharedata.cpp:68
KSambaShareData::setAcl
KSambaShareData::UserShareError setAcl(const QString &acl)
Sets the acl to the share.
Definition: ksambasharedata.cpp:115
KSambaShareData::operator!=
bool operator!=(const KSambaShareData &other) const
Definition: ksambasharedata.cpp:169
KSambaShareData::GuestPermission
GuestPermission
Definition: ksambasharedata.h:43
KSambaShareDataPrivate
Definition: ksambasharedata_p.h:28
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:24:53 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KIO

Skip menu "KIO"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal