ctkServiceRegistration.h

Go to the documentation of this file.
00001 /*=============================================================================
00002 
00003   Library: CTK
00004 
00005   Copyright (c) 2010 German Cancer Research Center,
00006     Division of Medical and Biological Informatics
00007 
00008   Licensed under the Apache License, Version 2.0 (the "License");
00009   you may not use this file except in compliance with the License.
00010   You may obtain a copy of the License at
00011 
00012     http://www.apache.org/licenses/LICENSE-2.0
00013 
00014   Unless required by applicable law or agreed to in writing, software
00015   distributed under the License is distributed on an "AS IS" BASIS,
00016   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00017   See the License for the specific language governing permissions and
00018   limitations under the License.
00019 
00020 =============================================================================*/
00021 
00022 #ifndef CTKSERVICEREGISTRATION_H
00023 #define CTKSERVICEREGISTRATION_H
00024 
00025 #include "ctkPluginContext.h"
00026 
00027 #include "ctkServiceReference.h"
00028 
00029 #include "CTKPluginFrameworkExport.h"
00030 
00031 
00032   class ctkServiceRegistrationPrivate;
00033 
00049   class CTK_PLUGINFW_EXPORT ctkServiceRegistration {
00050 
00051     Q_DECLARE_PRIVATE(ctkServiceRegistration)
00052 
00053   public:
00054 
00067     ctkServiceReference* getReference();
00068 
00094     void setProperties(const ServiceProperties& properties);
00095 
00127     virtual void unregister();
00128 
00129     bool operator<(const ctkServiceRegistration& o) const;
00130 
00131   protected:
00132 
00133     friend class ctkServices;
00134 
00135     ctkServiceRegistration(ctkPluginPrivate* plugin, QObject* service,
00136                         const ServiceProperties& props);
00137 
00138     ctkServiceRegistration(ctkServiceRegistrationPrivate& dd);
00139 
00140     ctkServiceRegistrationPrivate * const d_ptr;
00141 
00142   };
00143 
00144 
00145 #endif // CTKSERVICEREGISTRATION_H
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines