TAO_Codeset_Parameters Class Reference

A simple storage class for the native codeset and any translators that must be configured when creating an instance of codeset manager. More...

#include <default_resource.h>

Inheritance diagram for TAO_Codeset_Parameters:

Inheritance graph
[legend]
Collaboration diagram for TAO_Codeset_Parameters:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ACE_Unbounded_Queue_Iterator<
ACE_TCHAR * > 
iterator

Public Member Functions

 TAO_Codeset_Parameters (void)
 ~TAO_Codeset_Parameters (void)
const ACE_TCHARnative (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_TCHARnative_

Detailed Description

A simple storage class for the native codeset and any translators that must be configured when creating an instance of codeset manager.

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.


Member Typedef Documentation

typedef ACE_Unbounded_Queue_Iterator<ACE_TCHAR*> TAO_Codeset_Parameters::iterator

Definition at line 71 of file default_resource.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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   ) 

The native codeset (getter).

Definition at line 58 of file default_resource.cpp.

00059 {
00060   return (this->native_);
00061 }

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 }


Member Data Documentation

ACE_TCHAR* TAO_Codeset_Parameters::native_ [private]

Definition at line 81 of file default_resource.h.

Referenced by native().

ACE_Unbounded_Queue<ACE_TCHAR*> TAO_Codeset_Parameters::translators_ [private]

Definition at line 80 of file default_resource.h.

Referenced by add_translator(), and translators().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:39:23 2010 for TAO by  doxygen 1.4.7