summaryrefslogtreecommitdiff
path: root/sapserviceinfo.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-10-19 18:45:03 +0200
committerJavier <dev.git@javispedro.com>2014-10-19 18:45:03 +0200
commitd8d8fc7a0d139e7b864eee3b573bd208f823ad4f (patch)
treea9b54d6e6e6941c620f4f10cef4b5def9be86f82 /sapserviceinfo.h
downloadsapd-d8d8fc7a0d139e7b864eee3b573bd208f823ad4f.tar.gz
sapd-d8d8fc7a0d139e7b864eee3b573bd208f823ad4f.zip
initial import, no crypto
Diffstat (limited to 'sapserviceinfo.h')
-rw-r--r--sapserviceinfo.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/sapserviceinfo.h b/sapserviceinfo.h
new file mode 100644
index 0000000..91756b7
--- /dev/null
+++ b/sapserviceinfo.h
@@ -0,0 +1,64 @@
+#ifndef SAPSERVICEINFO_H
+#define SAPSERVICEINFO_H
+
+#include <QtCore/QObject>
+#include <QtCore/QSharedDataPointer>
+
+class SAPServiceInfoData;
+class SAPChannelInfo;
+
+class SAPServiceInfo
+{
+ Q_GADGET
+ Q_ENUMS(Role)
+
+public:
+ SAPServiceInfo();
+ SAPServiceInfo(const SAPServiceInfo &);
+ SAPServiceInfo &operator=(const SAPServiceInfo &);
+ ~SAPServiceInfo();
+
+ enum Role {
+ RoleProvider,
+ RoleConsumer
+ };
+
+ static Role oppositeRole(Role role);
+
+ QString profile() const;
+ void setProfile(const QString &profile);
+
+ QString friendlyName() const;
+ void setFriendlyName(const QString &name);
+
+ Role role() const;
+ void setRole(Role role);
+
+ unsigned short version() const;
+ void setVersion(unsigned short version);
+ void setVersion(unsigned char maj, unsigned char min);
+
+ unsigned short connectionTimeout() const;
+ void setConnectionTimeout(unsigned short timeout);
+
+ void addChannel(const SAPChannelInfo &channel);
+ void removeChannel(unsigned short channelId);
+ QList<SAPChannelInfo> channels() const;
+
+private:
+ QSharedDataPointer<SAPServiceInfoData> data;
+};
+
+inline SAPServiceInfo::Role SAPServiceInfo::oppositeRole(Role role)
+{
+ switch (role) {
+ case RoleProvider:
+ return RoleConsumer;
+ case RoleConsumer:
+ return RoleProvider;
+ default:
+ abort();
+ }
+}
+
+#endif // SAPSERVICEINFO_H