Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / tests / Portable_Interceptors / PolicyFactory / PolicyFactory.h
blobe9ae6e787d85c0c0bb55e548926b2b3322ca8eb8
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file PolicyFactory.h
7 * Implementation header for the test policy factory.
9 * @author Ossama Othman <ossama@dre.vanderbilt.edu>
11 //=============================================================================
13 #ifndef POLICY_FACTORY_H
14 #define POLICY_FACTORY_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/PI/PI.h"
23 #include "tao/LocalObject.h"
25 #if defined(_MSC_VER)
26 #pragma warning(push)
27 #pragma warning(disable:4250)
28 #endif /* _MSC_VER */
30 /**
31 * @class PolicyFactory
33 * @brief Simple concrete PolicyFactory.
35 * This is a test PolicyFactory that constructs a Test::Policy
36 * object.
38 class PolicyFactory
39 : public virtual PortableInterceptor::PolicyFactory,
40 public virtual ::CORBA::LocalObject
42 public:
44 /**
45 * @name Methods Required by the PolicyFactory Interface
47 * These are methods that must be implemented since they are pure
48 * virtual in the abstract base class. They are the canonical
49 * methods required for all PolicyFactory sub-classes.
51 //@{
53 /// Construct a Test::Policy object as a test.
54 virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type,
55 const CORBA::Any & value);
57 //@}
61 #if defined(_MSC_VER)
62 #pragma warning(pop)
63 #endif /* _MSC_VER */
65 #endif /* POLICY_FACTORY_H */