Merge pull request #2216 from jwillemsen/jwi-cxxversionchecks
[ACE_TAO.git] / TAO / orbsvcs / examples / ORT / Server_IORInterceptor.h
blobd36f2c0a3ed530038497b4511aea9aa7f5573513
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:
25 Server_IORInterceptor (Gateway::Object_Factory_ptr gateway_object_factory);
27 /**
28 * @name Methods Required by the IOR Interceptor Interface
30 * These are methods that must be implemented since they are pure
31 * virtual in the abstract base class. They are the canonical
32 * methods required for all IOR interceptors.
34 //@{
35 /// Return the name of this IORInterceptor.
36 virtual char * name ();
38 /// Cleanup resources acquired by this IORInterceptor.
39 virtual void destroy ();
41 /// Add the tagged components to the IOR.
42 virtual void establish_components (
43 PortableInterceptor::IORInfo_ptr info);
45 virtual void components_established (
46 PortableInterceptor::IORInfo_ptr info);
48 virtual void adapter_manager_state_changed (
49 const char * id,
50 PortableInterceptor::AdapterState state);
52 virtual void adapter_state_changed (
53 const PortableInterceptor::ObjectReferenceTemplateSeq & templates,
54 PortableInterceptor::AdapterState state);
56 //@}
58 protected:
59 ~Server_IORInterceptor ();
61 private:
62 Gateway::Object_Factory_ptr gateway_object_factory_;
65 #if defined(_MSC_VER)
66 #pragma warning(pop)
67 #endif /* _MSC_VER */
69 #endif /* SERVER_IORINTERCEPTOR_H */