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

In This Package:

getMessageSvc.h

Go to the documentation of this file.
00001 // This file's extension implies that it's C, but it's really -*- C++ -*-.
00002 /* And was taken from ATLAS CVS by bv@bnl.gov 2008/7/16.  Any bugs,
00003  * blame me, not them! */
00004 #ifndef DYBKERNEL_GETMESSAGESVC_H
00005 #define DYBKERNEL_GETMESSAGESVC_H 1
00006 
00012 #include <cassert>
00013 class IMessageSvc;
00014 namespace Dyb {
00015     namespace Options {
00016         enum CreateOptions {
00017             Eager,
00018             Lazy
00019         };
00020     }
00028     IMessageSvc* getMessageSvc();
00029     IMessageSvc* getMessageSvc( const Options::CreateOptions o );
00030   
00034     class IMessageSvcHolder {
00035     public:
00038         IMessageSvcHolder() : m_ims() {}
00039 
00043         IMessageSvcHolder(const Options::CreateOptions o);
00044 
00050         IMessageSvcHolder(IMessageSvc *ims);
00051 
00053         IMessageSvcHolder(const IMessageSvcHolder&);
00054         IMessageSvcHolder& operator=(const IMessageSvcHolder&);
00055 
00057         ~IMessageSvcHolder();
00059         IMessageSvc* get() const;
00061         operator const IMessageSvc*() const { return this->get(); }
00063         operator IMessageSvc*() { return this->get(); }
00064     private:
00065         mutable IMessageSvc* m_ims; //mutable to have op() const
00066     };
00067 }
00068 
00069 #endif
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:09:25 2011 for DybKernel by doxygen 1.4.7