CTK  0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
ctkServiceRegistration.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  Library: CTK
4 
5  Copyright (c) German Cancer Research Center,
6  Division of Medical and Biological Informatics
7 
8  Licensed under the Apache License, Version 2.0 (the "License");
9  you may not use this file except in compliance with the License.
10  You may obtain a copy of the License at
11 
12  http://www.apache.org/licenses/LICENSE-2.0
13 
14  Unless required by applicable law or agreed to in writing, software
15  distributed under the License is distributed on an "AS IS" BASIS,
16  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  See the License for the specific language governing permissions and
18  limitations under the License.
19 
20 =============================================================================*/
21 
22 #ifndef CTKSERVICEREGISTRATION_H
23 #define CTKSERVICEREGISTRATION_H
24 
25 #include "ctkDictionary.h"
26 #include "ctkServiceReference.h"
27 
28 #include "ctkPluginFrameworkExport.h"
29 
30 
31 class ctkServiceRegistrationPrivate;
32 
50 class CTK_PLUGINFW_EXPORT ctkServiceRegistration {
51 
52 public:
53 
60 
62 
63  operator bool() const;
64 
70 
72 
86 
112  void setProperties(const ctkDictionary& properties);
113 
145  void unregister();
146 
147  bool operator<(const ctkServiceRegistration& o) const;
148 
149  bool operator==(const ctkServiceRegistration& registration) const;
150 
152 
153 
154 protected:
155 
156  friend class ctkServices;
157  friend class ctkServiceReferencePrivate;
158 
159  friend uint CTK_PLUGINFW_EXPORT qHash(const ctkServiceRegistration&);
160 
161  ctkServiceRegistration(ctkServiceRegistrationPrivate* registrationPrivate);
162 
163  ctkServiceRegistration(ctkPluginPrivate* plugin, QObject* service,
164  const ctkDictionary& props);
165 
166  ctkServiceRegistrationPrivate* d_ptr;
167 
168 private:
169  Q_DECLARE_PRIVATE(ctkServiceRegistration)
170 };
171 
175 uint CTK_PLUGINFW_EXPORT qHash(const ctkServiceRegistration& serviceRef);
176 
177 #endif // CTKSERVICEREGISTRATION_H
ctkServiceReference getReference() const
ctkServiceRegistration(ctkServiceRegistrationPrivate *registrationPrivate)
ctkServiceRegistration & operator=(const ctkServiceRegistration &registration)
friend uint CTK_PLUGINFW_EXPORT qHash(const ctkServiceRegistration &)
bool operator<(const ctkServiceRegistration &o) const
ctkServiceRegistration(const ctkServiceRegistration &reg)
ctkServiceRegistration & operator=(int null)
void setProperties(const ctkDictionary &properties)
ctkServiceRegistrationPrivate * d_ptr
ctkServiceRegistration(ctkPluginPrivate *plugin, QObject *service, const ctkDictionary &props)
bool operator==(const ctkServiceRegistration &registration) const
uint CTK_PLUGINFW_EXPORT qHash(const ctkServiceRegistration &serviceRef)