Merge pull request #2301 from sonndinh/remove-dup-reactor-functions
[ACE_TAO.git] / TAO / tao / Codeset / Codeset_Descriptor.h
blob8b747700f3f233965522b1869506e4c6b7f48f94
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Codeset_Descriptor.h
7 * @author Phil Mesnier
8 */
9 //=============================================================================
11 #ifndef TAO_CODESET_DESCRIPTOR_H
12 #define TAO_CODESET_DESCRIPTOR_H
14 #include /**/ "ace/pre.h"
16 #include "tao/Codeset/codeset_export.h"
17 #include "ace/CDR_Base.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 # pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/Codeset_Descriptor_Base.h"
25 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
27 class TAO_Codeset_Translator_Factory;
29 class TAO_Codeset_Export TAO_Codeset_Descriptor
30 : public TAO_Codeset_Descriptor_Base
32 public:
33 TAO_Codeset_Descriptor ();
34 virtual ~TAO_Codeset_Descriptor ();
36 struct Translator_Node
38 ACE_TCHAR *name_;
39 TAO_Codeset_Translator_Factory *translator_factory_;
40 Translator_Node *next_;
43 void ncs (ACE_CDR::ULong ncs);
44 void ncs (const ACE_TCHAR *name);
45 ACE_CDR::ULong ncs () const;
46 int max_bytes () const;
47 int num_translators () const;
49 void add_translator (const ACE_TCHAR *name);
50 Translator_Node *translators ();
52 private:
53 ACE_CDR::ULong ncs_;
54 int max_bytes_;
55 int num_translators_;
56 Translator_Node *trans_base_;
59 TAO_END_VERSIONED_NAMESPACE_DECL
61 #include /**/ "ace/post.h"
63 #endif /* TAO_CODESET_DESCRIPTOR_H */