00001 /* -*- C++ -*- */ 00002 /** 00003 * @file PushSupplier.h 00004 * 00005 * $Id: PushSupplier.h 84685 2009-03-02 22:49:17Z mesnier_p $ 00006 * 00007 * @author Pradeep Gore <pradeep@oomworks.com> 00008 * 00009 * 00010 */ 00011 00012 #ifndef TAO_Notify_PUSHSUPPLIER_H 00013 #define TAO_Notify_PUSHSUPPLIER_H 00014 #include /**/ "ace/pre.h" 00015 00016 #include "orbsvcs/Notify/notify_serv_export.h" 00017 00018 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00019 # pragma once 00020 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00021 00022 00023 #include "orbsvcs/CosNotifyCommC.h" 00024 #include "orbsvcs/Notify/Supplier.h" 00025 00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00027 00028 class TAO_Notify_ProxyConsumer; 00029 00030 /** 00031 * @class TAO_Notify_StructuredPushSupplier 00032 * 00033 * @brief Wrapper for the PushSupplier that connect to the EventChannel. 00034 * 00035 */ 00036 class TAO_Notify_Serv_Export TAO_Notify_PushSupplier : public TAO_Notify_Supplier 00037 { 00038 public: 00039 /// Constructor 00040 TAO_Notify_PushSupplier (TAO_Notify_ProxyConsumer* proxy); 00041 00042 /// Destructor 00043 virtual ~TAO_Notify_PushSupplier (); 00044 00045 /// Init 00046 void init (CosEventComm::PushSupplier_ptr push_supplier); 00047 00048 /// Retrieve the ior of this peer 00049 virtual ACE_CString get_ior (void) const; 00050 00051 protected: 00052 00053 virtual CORBA::Object_ptr get_supplier (void); 00054 00055 /// The Supplier 00056 CosEventComm::PushSupplier_var push_supplier_; 00057 00058 private: 00059 /// TAO_Notify_Destroy_Callback methods 00060 virtual void release (void); 00061 }; 00062 00063 TAO_END_VERSIONED_NAMESPACE_DECL 00064 00065 #include /**/ "ace/post.h" 00066 #endif /* TAO_Notify_PUSHSUPPLIER_H */