00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Codeset_Descriptor.h 00006 * 00007 * $Id: Codeset_Descriptor.h 71473 2006-03-10 07:19:20Z jtc $ 00008 * 00009 * @author Phil Mesnier 00010 */ 00011 //============================================================================= 00012 00013 #ifndef TAO_CODESET_DESCRIPTOR_H 00014 #define TAO_CODESET_DESCRIPTOR_H 00015 00016 #include /**/ "ace/pre.h" 00017 00018 #include "tao/Codeset/codeset_export.h" 00019 #include "ace/CDR_Base.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "tao/Codeset_Descriptor_Base.h" 00026 00027 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00028 00029 class TAO_Codeset_Translator_Factory; 00030 00031 class TAO_Codeset_Export TAO_Codeset_Descriptor 00032 : public TAO_Codeset_Descriptor_Base 00033 { 00034 public: 00035 TAO_Codeset_Descriptor (); 00036 virtual ~TAO_Codeset_Descriptor (); 00037 00038 struct Translator_Node 00039 { 00040 ACE_TCHAR *name_; 00041 TAO_Codeset_Translator_Factory *translator_factory_; 00042 Translator_Node *next_; 00043 }; 00044 00045 void ncs (ACE_CDR::ULong ncs); 00046 void ncs (const ACE_TCHAR *name); 00047 ACE_CDR::ULong ncs (void) const; 00048 int max_bytes (void) const; 00049 int num_translators (void) const; 00050 00051 void add_translator (const ACE_TCHAR *name); 00052 Translator_Node *translators (void); 00053 00054 private: 00055 ACE_CDR::ULong ncs_; 00056 int max_bytes_; 00057 int num_translators_; 00058 Translator_Node *trans_base_; 00059 }; 00060 00061 TAO_END_VERSIONED_NAMESPACE_DECL 00062 00063 #include /**/ "ace/post.h" 00064 00065 #endif /* TAO_CODESET_DESCRIPTOR_H */