Merge pull request #1551 from DOCGroup/plm_jira_333
[ACE_TAO.git] / TAO / orbsvcs / examples / ORT / Server_IORInterceptor.h
blob47774c8921ecba55ec267ebefb535482eaa25dd1
1 // -*- C++ -*-
2 //
3 #ifndef SERVER_IORINTERCEPTOR_H
4 #define SERVER_IORINTERCEPTOR_H
6 #include "GatewayC.h"
7 #include "tao/IORInterceptor/IORInterceptor.h"
8 #include "tao/LocalObject.h"
10 #if !defined (ACE_LACKS_PRAGMA_ONCE)
11 # pragma once
12 #endif /* ACE_LACKS_PRAGMA_ONCE */
15 #if defined(_MSC_VER)
16 #pragma warning(push)
17 #pragma warning(disable:4250)
18 #endif /* _MSC_VER */
20 class Server_IORInterceptor
21 : public virtual PortableInterceptor::IORInterceptor_3_0,
22 public virtual ::CORBA::LocalObject
24 public:
26 Server_IORInterceptor (Gateway::Object_Factory_ptr gateway_object_factory);
28 /**
29 * @name Methods Required by the IOR Interceptor Interface
31 * These are methods that must be implemented since they are pure
32 * virtual in the abstract base class. They are the canonical
33 * methods required for all IOR interceptors.
35 //@{
36 /// Return the name of this IORInterceptor.
37 virtual char * name (void);
39 /// Cleanup resources acquired by this IORInterceptor.
40 virtual void destroy (void);
42 /// Add the tagged components to the IOR.
43 virtual void establish_components (
44 PortableInterceptor::IORInfo_ptr info);
46 virtual void components_established (
47 PortableInterceptor::IORInfo_ptr info);
49 virtual void adapter_manager_state_changed (
50 const char * id,
51 PortableInterceptor::AdapterState state);
53 virtual void adapter_state_changed (
54 const PortableInterceptor::ObjectReferenceTemplateSeq & templates,
55 PortableInterceptor::AdapterState state);
57 //@}
59 protected:
61 ~Server_IORInterceptor (void);
63 private:
65 Gateway::Object_Factory_ptr gateway_object_factory_;
69 #if defined(_MSC_VER)
70 #pragma warning(pop)
71 #endif /* _MSC_VER */
73 #endif /* SERVER_IORINTERCEPTOR_H */