3 //=============================================================================
5 * @file IdAssignmentStrategy.h
7 * @author Johnny Willemsen <jwillemsen@remedy.nl>
9 //=============================================================================
11 #ifndef TAO_ID_ASSIGNMENT_STRATEGY_H
12 #define TAO_ID_ASSIGNMENT_STRATEGY_H
13 #include /**/ "ace/pre.h"
15 #include "tao/Basic_Types.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
25 namespace Portable_Server
27 class IdAssignmentStrategy
30 IdAssignmentStrategy () = default;
31 virtual ~IdAssignmentStrategy () = default;
34 * Returns the key type the says which specific policy we have
36 virtual char id_assignment_key_type () const = 0;
39 * Returns the length of the id_assignment type
41 char key_type_length () const;
43 void create_key (CORBA::Octet
*buffer
, CORBA::ULong
& starting_at
);
45 virtual bool has_system_id () const = 0;
50 TAO_END_VERSIONED_NAMESPACE_DECL
52 #include /**/ "ace/post.h"
53 #endif /* TAO_ID_ASSIGNMENT_STRATEGY_H */