// -*- C++ -*-
//
// $Id$

// ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****
// TAO and the TAO IDL Compiler have been developed by:
//       Center for Distributed Object Computing
//       Washington University
//       St. Louis, MO
//       USA
//       http://www.cs.wustl.edu/~schmidt/doc-center.html
// and
//       Distributed Object Computing Laboratory
//       University of California at Irvine
//       Irvine, CA
//       USA
//       http://doc.ece.uci.edu/
// and
//       Institute for Software Integrated Systems
//       Vanderbilt University
//       Nashville, TN
//       USA
//       http://www.isis.vanderbilt.edu/
//
// Information about TAO is available at:
//     http://www.cs.wustl.edu/~schmidt/TAO.html

// TAO_IDL - Generated from
// be/be_codegen.cpp:546

#ifndef _TAO_IDL_NOTIFYEXTS_T_H_
#define _TAO_IDL_NOTIFYEXTS_T_H_

#include /**/ "ace/pre.h"

#if defined(_MSC_VER)
#if (_MSC_VER >= 1200)
#pragma warning(push)
#endif /* _MSC_VER >= 1200 */
#pragma warning(disable:4250)
#endif /* _MSC_VER */


// TAO_IDL - Generated from 
// be/be_visitor_root/root_sth.cpp:116

#if defined (ACE_HAS_USING_KEYWORD)
namespace POA_NotifyExt
{
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  EventChannelFactory_tie : public EventChannelFactory
  {
  public:
    EventChannelFactory_tie (T &t);
    // the T& ctor
    EventChannelFactory_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    EventChannelFactory_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    EventChannelFactory_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~EventChannelFactory_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::EventChannel_ptr create_channel (
        const ::CosNotification::QoSProperties & initial_qos,
        const ::CosNotification::AdminProperties & initial_admin,
        ::CosNotifyChannelAdmin::ChannelID_out id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotification::UnsupportedQoS,
        ::CosNotification::UnsupportedAdmin
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ChannelIDSeq * get_all_channels (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::EventChannel_ptr get_event_channel (
        ::CosNotifyChannelAdmin::ChannelID id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyChannelAdmin::ChannelNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void destroy (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    EventChannelFactory_tie (const EventChannelFactory_tie &);
    void operator= (const EventChannelFactory_tie &);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  ConsumerAdmin_tie : public ConsumerAdmin
  {
  public:
    ConsumerAdmin_tie (T &t);
    // the T& ctor
    ConsumerAdmin_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    ConsumerAdmin_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    ConsumerAdmin_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~ConsumerAdmin_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotification::QoSProperties * get_qos (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void set_qos (
        const ::CosNotification::QoSProperties & qos
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotification::UnsupportedQoS
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void validate_qos (
        const ::CosNotification::QoSProperties & required_qos,
        ::CosNotification::NamedPropertyRangeSeq_out available_qos
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotification::UnsupportedQoS
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void subscription_change (
        const ::CosNotification::EventTypeSeq & added,
        const ::CosNotification::EventTypeSeq & removed
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyComm::InvalidEventType
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosNotifyFilter::FilterID add_filter (
        ::CosNotifyFilter::Filter_ptr new_filter
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_filter (
        ::CosNotifyFilter::FilterID filter
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyFilter::FilterNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyFilter::Filter_ptr get_filter (
        ::CosNotifyFilter::FilterID filter
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyFilter::FilterNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyFilter::FilterIDSeq * get_all_filters (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_all_filters (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosEventChannelAdmin::ProxyPushSupplier_ptr obtain_push_supplier (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosEventChannelAdmin::ProxyPullSupplier_ptr obtain_pull_supplier (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosNotifyChannelAdmin::AdminID MyID (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::EventChannel_ptr MyChannel (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::InterFilterGroupOperator MyOperator (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyFilter::MappingFilter_ptr priority_filter (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void priority_filter (
        ::CosNotifyFilter::MappingFilter_ptr priority_filter
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyFilter::MappingFilter_ptr lifetime_filter (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void lifetime_filter (
        ::CosNotifyFilter::MappingFilter_ptr lifetime_filter
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxyIDSeq * pull_suppliers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxyIDSeq * push_suppliers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxySupplier_ptr get_proxy_supplier (
        ::CosNotifyChannelAdmin::ProxyID proxy_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyChannelAdmin::ProxyNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxySupplier_ptr obtain_notification_pull_supplier (
        ::CosNotifyChannelAdmin::ClientType ctype,
        ::CosNotifyChannelAdmin::ProxyID_out proxy_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyChannelAdmin::AdminLimitExceeded
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxySupplier_ptr obtain_notification_push_supplier (
        ::CosNotifyChannelAdmin::ClientType ctype,
        ::CosNotifyChannelAdmin::ProxyID_out proxy_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyChannelAdmin::AdminLimitExceeded
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void destroy (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxySupplier_ptr obtain_notification_push_supplier_with_qos (
        ::CosNotifyChannelAdmin::ClientType ctype,
        ::CosNotifyChannelAdmin::ProxyID_out proxy_id,
        const ::CosNotification::QoSProperties & initial_qos
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyChannelAdmin::AdminLimitExceeded,
        ::CosNotification::UnsupportedQoS
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    ConsumerAdmin_tie (const ConsumerAdmin_tie &);
    void operator= (const ConsumerAdmin_tie &);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_interface/tie_sh.cpp:87
  
  // TIE class: Refer to CORBA v2.2, Section 20.34.4
  template <class T>
  class  SupplierAdmin_tie : public SupplierAdmin
  {
  public:
    SupplierAdmin_tie (T &t);
    // the T& ctor
    SupplierAdmin_tie (T &t, PortableServer::POA_ptr poa);
    // ctor taking a POA
    SupplierAdmin_tie (T *tp, CORBA::Boolean release = 1);
    // ctor taking pointer and an ownership flag
    SupplierAdmin_tie (
        T *tp,
        PortableServer::POA_ptr poa,
        CORBA::Boolean release = 1
      );
    // ctor with T*, ownership flag and a POA
    ~SupplierAdmin_tie (void);
    // dtor
    
    // TIE specific functions
    T *_tied_object (void);
    // return the underlying object
    void _tied_object (T &obj);
    // set the underlying object
    void _tied_object (T *obj, CORBA::Boolean release = 1);
    // set the underlying object and the ownership flag
    CORBA::Boolean _is_owner (void);
    // do we own it
    void _is_owner (CORBA::Boolean b);
    // set the ownership
    
    // overridden ServantBase operations
    PortableServer::POA_ptr _default_POA (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      );
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotification::QoSProperties * get_qos (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void set_qos (
        const ::CosNotification::QoSProperties & qos
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotification::UnsupportedQoS
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void validate_qos (
        const ::CosNotification::QoSProperties & required_qos,
        ::CosNotification::NamedPropertyRangeSeq_out available_qos
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotification::UnsupportedQoS
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void offer_change (
        const ::CosNotification::EventTypeSeq & added,
        const ::CosNotification::EventTypeSeq & removed
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyComm::InvalidEventType
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosNotifyFilter::FilterID add_filter (
        ::CosNotifyFilter::Filter_ptr new_filter
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_filter (
        ::CosNotifyFilter::FilterID filter
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyFilter::FilterNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyFilter::Filter_ptr get_filter (
        ::CosNotifyFilter::FilterID filter
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyFilter::FilterNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyFilter::FilterIDSeq * get_all_filters (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void remove_all_filters (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosEventChannelAdmin::ProxyPushConsumer_ptr obtain_push_consumer (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosEventChannelAdmin::ProxyPullConsumer_ptr obtain_pull_consumer (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    CosNotifyChannelAdmin::AdminID MyID (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::EventChannel_ptr MyChannel (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::InterFilterGroupOperator MyOperator (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxyIDSeq * pull_consumers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxyIDSeq * push_consumers (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxyConsumer_ptr get_proxy_consumer (
        ::CosNotifyChannelAdmin::ProxyID proxy_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyChannelAdmin::ProxyNotFound
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxyConsumer_ptr obtain_notification_pull_consumer (
        ::CosNotifyChannelAdmin::ClientType ctype,
        ::CosNotifyChannelAdmin::ProxyID_out proxy_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyChannelAdmin::AdminLimitExceeded
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxyConsumer_ptr obtain_notification_push_consumer (
        ::CosNotifyChannelAdmin::ClientType ctype,
        ::CosNotifyChannelAdmin::ProxyID_out proxy_id
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyChannelAdmin::AdminLimitExceeded
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    void destroy (
        ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException
      ));
    
    // TAO_IDL - Generated from
    // be/be_visitor_operation/tie_sh.cpp:60
    
    ::CosNotifyChannelAdmin::ProxyConsumer_ptr obtain_notification_push_consumer_with_qos (
        ::CosNotifyChannelAdmin::ClientType ctype,
        ::CosNotifyChannelAdmin::ProxyID_out proxy_id,
        const ::CosNotification::QoSProperties & initial_qos
        ACE_ENV_ARG_DECL_WITH_DEFAULTS
      )
      ACE_THROW_SPEC ((
        CORBA::SystemException,
        ::CosNotifyChannelAdmin::AdminLimitExceeded,
        ::CosNotification::UnsupportedQoS
      ));
  
  private:
    T *ptr_;
    PortableServer::POA_var poa_;
    CORBA::Boolean rel_;
    
    // copy and assignment are not allowed
    SupplierAdmin_tie (const SupplierAdmin_tie &);
    void operator= (const SupplierAdmin_tie &);
  };
} // module NotifyExt
#endif /* ACE_HAS_USING_KEYWORD */

// TAO_IDL - Generated from 
// be/be_codegen.cpp:1091

#if defined (__ACE_INLINE__)
#include "NotifyExtS_T.inl"
#endif /* defined __ACE_INLINE__ */

#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
#include "NotifyExtS_T.cpp"
#endif /* defined REQUIRED SOURCE */

#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
#pragma implementation ("NotifyExtS_T.cpp")
#endif /* defined REQUIRED PRAGMA */

#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop)
#endif /* _MSC_VER */

#include /**/ "ace/post.h"
#endif /* ifndef */
