=default for generated implementation copy ctor
[ACE_TAO.git] / TAO / tests / Portable_Interceptors / PolicyFactory / PolicyFactory.h
blobe09da0fda7bcf784d29635c95732abf8618917c5
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:
43 /**
44 * @name Methods Required by the PolicyFactory Interface
46 * These are methods that must be implemented since they are pure
47 * virtual in the abstract base class. They are the canonical
48 * methods required for all PolicyFactory sub-classes.
50 //@{
51 /// Construct a Test::Policy object as a test.
52 virtual CORBA::Policy_ptr create_policy (CORBA::PolicyType type,
53 const CORBA::Any & value);
55 //@}
58 #if defined(_MSC_VER)
59 #pragma warning(pop)
60 #endif /* _MSC_VER */
62 #endif /* POLICY_FACTORY_H */