Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

SpecialSubscribeRequest.h

00001 
00002 #ifndef SCT_SPECIALSUBSCRIBEREQUEST_H
00003 #define SCT_SPECIALSUBSCRIBEREQUEST_H
00004 
00005 #include "SpecialSubscribeRequest.fwd"
00006 
00007 #include "SubscriptionManagerImpl.fwd"
00008 #include "NameOrRegexp.h"
00009 #include "is/isinfo.h"
00010 
00011 std::ostream & operator<<(std::ostream & os, const Sct::SpecialSubscribeRequest & ssr);
00012 
00013 namespace Sct {
00014   
00015   class SpecialSubscribeRequest {
00016     // we are going to prevent anyone except SubscriptionManagerImpl from making us
00017     friend class SubscriptionManagerImpl;
00018     friend std::ostream & ::operator<<(std::ostream & os, const Sct::SpecialSubscribeRequest & ssr);
00019   private:
00020     SpecialSubscribeRequest(const NameOrRegexp & serverPattern,
00021                             const NameOrRegexp & objectPattern,
00022                             const is::callback_ptr cb) :
00023       m_serverPattern(serverPattern),
00024       m_objectPattern(objectPattern),
00025       m_cb(  is::callback::_duplicate(cb)  ) {
00026     };
00027     std::ostream & printMeTo(std::ostream & os) const;
00028     const NameOrRegexp m_serverPattern;
00029     const NameOrRegexp m_objectPattern;
00030     const is::callback_var m_cb;
00031   };
00032 
00033 };
00034 
00035 inline std::ostream & operator<<(std::ostream & os, const Sct::SpecialSubscribeRequest & ssr) {
00036   return ssr.printMeTo(os);
00037 };
00038 
00039 #endif

Generated on Fri Sep 16 18:01:58 2005 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5