3 // ===================================================================
5 * @file Codeset_Translator_Base.h
7 * @author Phil Mesnier <mesnier_p@ociweb.com>
9 // ===================================================================
11 #ifndef TAO_CODESET_TRANSLATOR_BASE_H
12 #define TAO_CODESET_TRANSLATOR_BASE_H
14 #include /**/ "ace/pre.h"
16 #include /**/ "tao/TAO_Export.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #include "tao/CONV_FRAMEC.h"
23 #include "tao/Codeset_Translator_Base.h"
24 #include "ace/Service_Object.h"
26 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
27 class ACE_Char_Codeset_Translator
;
28 class ACE_WChar_Codeset_Translator
;
29 ACE_END_VERSIONED_NAMESPACE_DECL
31 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
36 // ****************************************************************
39 * @class TAO_Codeset_Translator_Base
41 * @brief Abstract base Translator component for interaction with TAO
43 * Certain elements of TAO need an interface defined in the TAO module
44 * Through which the actual codeset translator instance may be assigned
48 class TAO_Export TAO_Codeset_Translator_Base
51 virtual ~TAO_Codeset_Translator_Base ();
52 virtual int init (int argc
, ACE_TCHAR
*argv
[]) = 0;
54 /// Get the native codeset ID from the base. There is no reasonable
55 /// default for this method, so it is left abstract.
56 virtual CONV_FRAME::CodeSetId
ncs () const = 0;
58 /// Get the translated codeset ID from the base. There is no reasonable
59 /// default for this method, so it is left abstract.
60 virtual CONV_FRAME::CodeSetId
tcs () const = 0;
62 /// Assign the translator to the supplied input CDR. This is left abstract
63 /// since the base base does not have a reference to the actual translator
64 /// instance. The template instance provides this implementation.
65 virtual void assign (TAO_InputCDR
*) const = 0;
67 /// Assign the translator to the supplied output CDR. This is left abstract
68 /// since the base base does not have a reference to the actual translator
69 /// instance. The template instance provides this implementation.
70 virtual void assign (TAO_OutputCDR
*) const = 0;
73 TAO_END_VERSIONED_NAMESPACE_DECL
75 #include /**/ "ace/post.h"
77 #endif /* TAO_Codeset_Translator_Base */