| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Services.h

Go to the documentation of this file.
00001 // $Id: Services.h,v 1.6 2007/10/01 11:40:19 marcocle Exp $
00002 #ifndef DETDESC_SERVICES_H 
00003 #define DETDESC_SERVICES_H 1
00004 
00005 #include <iostream>
00006 // Forward declarations
00007 class ISvcLocator;
00008 class IDataProviderSvc;
00009 class IMessageSvc;
00010 class IUpdateManagerSvc;
00011 
00012 namespace DetDesc {
00013 
00020   class Services {
00021 
00022   public:
00023 
00025     virtual unsigned long addRef() ;
00026     
00028     virtual unsigned long release() ;
00029     
00030 
00031   public:
00037     ISvcLocator* svcLocator();
00043     IDataProviderSvc* detSvc();    
00049     IMessageSvc* msgSvc();
00050     
00056     IUpdateManagerSvc* updMgrSvc(bool create = false);
00057     
00059     static void setServices ( DetDesc::Services* val );
00060 
00061     // static acessor 
00062     static Services* services();
00063 
00064   protected:
00065     
00067     Services();
00068     
00070     virtual ~Services();
00071 
00072   private:
00073 
00075     Services( const Services & );    
00076     
00077   private:
00079     ISvcLocator* m_svcLocator;
00081     IDataProviderSvc* m_detSvc;
00083     IMessageSvc* m_msgSvc;
00085     IUpdateManagerSvc* m_updMgrSvc;
00086     
00088     int m_refCount;
00089     
00090     
00092     static DetDesc::Services* s_services ;
00093     
00094    };
00095   
00096 }
00097 
00098 #endif 
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:00:13 2011 for DetDesc by doxygen 1.4.7