#include <default_resource.h>
Inheritance diagram for TAO_Codeset_Parameters:
Public Types | |
typedef ACE_Unbounded_Queue_Iterator< ACE_TCHAR * > | iterator |
Public Member Functions | |
TAO_Codeset_Parameters (void) | |
~TAO_Codeset_Parameters (void) | |
const ACE_TCHAR * | native (void) |
The native codeset (getter). | |
void | native (const ACE_TCHAR *n) |
The native codeset (setter). | |
void | add_translator (const ACE_TCHAR *name) |
Add a new codeset. | |
iterator | translators (void) |
Iterate through the registered translators. | |
void | apply_to (TAO_Codeset_Descriptor_Base *csd) |
Apply the parameters to the said descriptor. | |
Private Attributes | |
ACE_Unbounded_Queue< ACE_TCHAR * > | translators_ |
ACE_TCHAR * | native_ |
The Resource Factory uses two instances of this class during its initialization, to capture any native codeset or translators settings. The RF later uses these parameters when creating instances of the codeset manager.
Perhaps, the best would be to place the responsibility for codeset manager's configuration with the the codeset manager factory?
Definition at line 55 of file default_resource.h.
Definition at line 71 of file default_resource.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Codeset_Parameters::TAO_Codeset_Parameters | ( | void | ) |
Definition at line 36 of file default_resource.cpp.
00037 : translators_ () 00038 , native_ (0) 00039 { 00040 }
TAO_Codeset_Parameters::~TAO_Codeset_Parameters | ( | void | ) |
Definition at line 42 of file default_resource.cpp.
References ACE_OS::free().
00043 { 00044 for (TAO_Codeset_Parameters::iterator i = 00045 this->translators (); 00046 !i.done (); 00047 i.advance ()) 00048 { 00049 ACE_TCHAR** element = 0; 00050 if (i.next (element)) 00051 ACE_OS::free (*element); 00052 } 00053 00054 ACE_OS::free (this->native_); 00055 }
void TAO_Codeset_Parameters::add_translator | ( | const ACE_TCHAR * | name | ) |
Add a new codeset.
Definition at line 90 of file default_resource.cpp.
References ACE_OS::strdup(), and translators_.
00091 { 00092 this->translators_.enqueue_tail (ACE_OS::strdup (name)); 00093 }
void TAO_Codeset_Parameters::apply_to | ( | TAO_Codeset_Descriptor_Base * | csd | ) |
Apply the parameters to the said descriptor.
Definition at line 64 of file default_resource.cpp.
References TAO_Codeset_Descriptor_Base::add_translator(), and TAO_Codeset_Descriptor_Base::ncs().
Referenced by TAO_Default_Resource_Factory::codeset_manager().
00065 { 00066 if (csd == 0) 00067 return; 00068 00069 if (this->native () != 0) 00070 csd->ncs (this->native ()); 00071 00072 ACE_TCHAR** element = 0; 00073 for (TAO_Codeset_Parameters::iterator i = this->translators (); 00074 !i.done (); 00075 i.advance ()) 00076 { 00077 if (i.next (element)) 00078 csd->add_translator (*element); 00079 } 00080 }
void TAO_Codeset_Parameters::native | ( | const ACE_TCHAR * | n | ) |
The native codeset (setter).
Definition at line 83 of file default_resource.cpp.
References ACE_OS::free(), native_, and ACE_OS::strdup().
00084 { 00085 ACE_OS::free (this->native_); 00086 this->native_ = ACE_OS::strdup (n); 00087 }
const ACE_TCHAR * TAO_Codeset_Parameters::native | ( | void | ) |
TAO_Codeset_Parameters::iterator TAO_Codeset_Parameters::translators | ( | void | ) |
Iterate through the registered translators.
Definition at line 96 of file default_resource.cpp.
References translators_.
00097 { 00098 return this->translators_.begin (); 00099 }
ACE_TCHAR* TAO_Codeset_Parameters::native_ [private] |
Definition at line 80 of file default_resource.h.
Referenced by add_translator(), and translators().