00001 /* -*- C++ -*- */ 00002 /** 00003 * @file PushSupplier.h 00004 * 00005 * $Id: PushSupplier.h 76589 2007-01-25 18:04:11Z elliott_c $ 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 /// Constuctor 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 /// The Supplier 00053 CosEventComm::PushSupplier_var push_supplier_; 00054 00055 private: 00056 /// TAO_Notify_Destroy_Callback methods 00057 virtual void release (void); 00058 }; 00059 00060 TAO_END_VERSIONED_NAMESPACE_DECL 00061 00062 #include /**/ "ace/post.h" 00063 #endif /* TAO_Notify_PUSHSUPPLIER_H */