diff options
Diffstat (limited to 'trunk/TAO/tao/PortableServer/IdAssignmentStrategy.h')
-rw-r--r-- | trunk/TAO/tao/PortableServer/IdAssignmentStrategy.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/trunk/TAO/tao/PortableServer/IdAssignmentStrategy.h b/trunk/TAO/tao/PortableServer/IdAssignmentStrategy.h new file mode 100644 index 00000000000..d53a67c62b3 --- /dev/null +++ b/trunk/TAO/tao/PortableServer/IdAssignmentStrategy.h @@ -0,0 +1,59 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file IdAssignmentStrategy.h + * + * $Id$ + * + * @author Johnny Willemsen <jwillemsen@remedy.nl> + */ +//============================================================================= + +#ifndef TAO_ID_ASSIGNMENT_STRATEGY_H +#define TAO_ID_ASSIGNMENT_STRATEGY_H +#include /**/ "ace/pre.h" + +#include "tao/PortableServer/Policy_Strategy.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/Basic_Types.h" + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +namespace TAO +{ + namespace Portable_Server + { + class IdAssignmentStrategy + : public Policy_Strategy + { + public: + virtual void strategy_init(TAO_Root_POA *poa ACE_ENV_ARG_DECL); + + virtual void strategy_cleanup(ACE_ENV_SINGLE_ARG_DECL); + + /** + * Returns the key type the says which specific policy we have + */ + virtual char id_assignment_key_type (void) const = 0; + + /** + * Returns the length of the id_assignment type + */ + char key_type_length (void) const; + + void create_key (CORBA::Octet *buffer, CORBA::ULong& starting_at); + + virtual bool has_system_id (void) const = 0; + }; + } +} + +TAO_END_VERSIONED_NAMESPACE_DECL + +#include /**/ "ace/post.h" +#endif /* TAO_ID_ASSIGNMENT_STRATEGY_H */ |