Revert "Use a variable on the stack to not have a temporary in the call"
[ACE_TAO.git] / TAO / tests / Portable_Interceptors / PolicyFactory / IORInterceptor.h
blob7fdcf1fe48b9eaf489b385a1da49fe99a3e54e5f
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file IORInterceptor.h
7 * Implementation header for the IOR test interceptor.
9 * @author Ossama Othman <ossama@dre.vanderbilt.edu>
11 //=============================================================================
13 #ifndef IOR_INTERCEPTOR_H
14 #define IOR_INTERCEPTOR_H
16 #include "ace/config-all.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 # pragma once
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #include "tao/IORInterceptor/IORInterceptor.h"
23 #include "tao/PortableInterceptorC.h"
24 #include "tao/LocalObject.h"
26 #if defined(_MSC_VER)
27 #pragma warning(push)
28 #pragma warning(disable:4250)
29 #endif /* _MSC_VER */
31 /**
32 * @class IORInterceptor
34 * @brief Simple concrete IOR interceptor.
36 * This is a test IOR interceptor that embeds a tagged component in an
37 * IOR. That tagged component will then be verified on the client
38 * side to ensure that IOR interceptor support is functioning
39 * properly.
41 class IORInterceptor
42 : public virtual PortableInterceptor::IORInterceptor,
43 public virtual ::CORBA::LocalObject
45 public:
46 /// Constructor
47 IORInterceptor ();
49 /**
50 * @name Methods Required by the IOR Interceptor Interface
52 * These are methods that must be implemented since they are pure
53 * virtual in the abstract base class. They are the canonical
54 * methods required for all IOR interceptors.
56 //@{
57 /// Return the name of this IORInterceptor.
58 virtual char * name ();
60 /// Cleanup resources acquired by this IORInterceptor.
61 virtual void destroy ();
63 /// Add the tagged components to the IOR.
64 virtual void establish_components (
65 PortableInterceptor::IORInfo_ptr info);
66 //@}
68 protected:
69 /// Destructor.
70 /**
71 * Protected destructor to enforce proper memory management through
72 * the reference counting mechanism.
74 ~IORInterceptor ();
76 private:
77 /// IORInterceptor successfully called and executed.
78 bool success_;
81 #if defined(_MSC_VER)
82 #pragma warning(pop)
83 #endif /* _MSC_VER */
85 #endif /* IOR_INTERCEPTOR_H */