Solid

frontend/networkshare.h
1/*
2 SPDX-FileCopyrightText: 2011 Mario Bensi <mbensi@ipsquad.net>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#ifndef SOLID_NETWORKSHARE_H
8#define SOLID_NETWORKSHARE_H
9
10#include <solid/solid_export.h>
11
12#include <solid/deviceinterface.h>
13
14#include <QUrl>
15
16namespace Solid
17{
18class Device;
19class NetworkSharePrivate;
20
21/**
22 * @class Solid::NetworkShare networkshare.h <Solid/NetworkShare>
23 *
24 * NetworkShare interface.
25 *
26 * a NetworkShare interface is used to determine the type of
27 * network access.
28 * @since 4.7
29 */
30class SOLID_EXPORT NetworkShare : public DeviceInterface
31{
33 Q_PROPERTY(ShareType type READ type)
34 Q_PROPERTY(QUrl url READ url)
35 Q_DECLARE_PRIVATE(NetworkShare)
36 friend class Device;
37
38private:
39 /**
40 * Creates a new NetworkShare object.
41 * You generally won't need this. It's created when necessary using
42 * Device::as().
43 *
44 * @param backendObject the device interface object provided by the backend
45 * @see Solid::Device::as()
46 */
47 SOLID_NO_EXPORT explicit NetworkShare(QObject *backendObject);
48
49public:
50 /**
51 * Destroys a NetworkShare object.
52 */
53 ~NetworkShare() override;
54
55 /**
56 * This enum type defines the type of networkShare device can be.
57 *
58 * - Unknown : a unsupported network protocol
59 * - Nfs : nfs protocol
60 * - Cifs : samba protocol
61 * - Smb3 : samba protocol (version 3)
62 */
63
64 enum ShareType { Unknown, Nfs, Cifs, Smb3 };
65 Q_ENUM(ShareType)
66
67 /**
68 * Get the Solid::DeviceInterface::Type of the NetworkShare device interface.
69 *
70 * @return the NetworkShare device interface type
71 * @see Solid::DeviceInterface::Type
72 */
74 {
75 return DeviceInterface::NetworkShare;
76 }
77
78 /**
79 * Retrieves the type of network share
80 *
81 * @return the type of network share
82 */
83 ShareType type() const;
84
85 /**
86 * Retrieves the url of network share
87 *
88 * @return the url of network share
89 */
90 QUrl url() const;
91};
92}
93
94#endif
Type
This enum type defines the type of device interface that a Device can have.
SOLID_NO_EXPORT DeviceInterface(DeviceInterfacePrivate &dd, QObject *backendObject)
This class allows applications to deal with devices available in the underlying system.
static Type deviceInterfaceType()
Get the Solid::DeviceInterface::Type of the NetworkShare device interface.
ShareType
This enum type defines the type of networkShare device can be.
QObject(QObject *parent)
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 21 2025 11:55:36 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.