#include <Codeset_Descriptor.h>


Classes | |
| struct | Translator_Node |
Public Member Functions | |
| TAO_Codeset_Descriptor () | |
| virtual | ~TAO_Codeset_Descriptor () |
| void | ncs (ACE_CDR::ULong ncs) |
| void | ncs (const ACE_TCHAR *name) |
| ACE_CDR::ULong | ncs (void) const |
| int | max_bytes (void) const |
| int | num_translators (void) const |
| void | add_translator (const ACE_TCHAR *name) |
| Translator_Node * | translators (void) |
Private Attributes | |
| ACE_CDR::ULong | ncs_ |
| int | max_bytes_ |
| int | num_translators_ |
| Translator_Node * | trans_base_ |
Definition at line 31 of file Codeset_Descriptor.h.
| TAO_Codeset_Descriptor::TAO_Codeset_Descriptor | ( | ) |
Definition at line 30 of file Codeset_Descriptor.cpp.
:ncs_ (0), max_bytes_ (1), num_translators_ (0), trans_base_(0) { }
| TAO_Codeset_Descriptor::~TAO_Codeset_Descriptor | ( | ) | [virtual] |
Definition at line 38 of file Codeset_Descriptor.cpp.
{
Translator_Node *temp = trans_base_;
while (temp)
{
temp = trans_base_->next_;
// don't need to delete the associated translator factory, it is
// owned by the service registry
ACE_OS::free (trans_base_->name_);
delete trans_base_;
trans_base_ = temp;
}
}
| void TAO_Codeset_Descriptor::add_translator | ( | const ACE_TCHAR * | name | ) | [virtual] |
Implements TAO_Codeset_Descriptor_Base.
Definition at line 102 of file Codeset_Descriptor.cpp.
{
Translator_Node *temp = trans_base_;
if (this->trans_base_ == 0)
{
ACE_NEW (this->trans_base_, Translator_Node);
temp = trans_base_;
}
else
{
while (temp->next_ != 0)
temp = temp->next_;
ACE_NEW (temp->next_, Translator_Node);
temp = temp->next_;
}
if (temp)
{
this->num_translators_ ++;
temp->name_ = ACE_OS::strdup (name);
temp->translator_factory_ = 0;
temp->next_ = 0;
}
}
| int TAO_Codeset_Descriptor::max_bytes | ( | void | ) | const |
Definition at line 96 of file Codeset_Descriptor.cpp.
{
return this->max_bytes_;
}
| void TAO_Codeset_Descriptor::ncs | ( | ACE_CDR::ULong | ncs | ) |
Definition at line 67 of file Codeset_Descriptor.cpp.
{
this->ncs_ = n;
// Validate the CodesetId
this->max_bytes_ = ACE_Codeset_Registry::get_max_bytes(n);
if (this->max_bytes_ == 0)
{
if (TAO_debug_level > 0)
ACE_ERROR((LM_ERROR,
ACE_TEXT("(%P|%t) TAO_Codeset_Descriptor::ncs, ")
ACE_TEXT("unknown codeset id 0x%x\n"),
n));
this->ncs_ = 0;
}
}
| void TAO_Codeset_Descriptor::ncs | ( | const ACE_TCHAR * | name | ) | [virtual] |
Implements TAO_Codeset_Descriptor_Base.
Definition at line 53 of file Codeset_Descriptor.cpp.
{
ACE_CDR::ULong n = 0;
if (ACE_Codeset_Registry::locale_to_registry
(ACE_TEXT_ALWAYS_CHAR(name), n) == 0)
{
char **endPtr = 0;
n = static_cast<ACE_CDR::ULong> (
ACE_OS::strtoul(ACE_TEXT_ALWAYS_CHAR(name), endPtr, 0));
}
this->ncs(n);
}
| ACE_CDR::ULong TAO_Codeset_Descriptor::ncs | ( | void | ) | const |
Definition at line 84 of file Codeset_Descriptor.cpp.
{
return this->ncs_;
}
| int TAO_Codeset_Descriptor::num_translators | ( | void | ) | const |
Definition at line 90 of file Codeset_Descriptor.cpp.
{
return this->num_translators_;
}
| TAO_Codeset_Descriptor::Translator_Node * TAO_Codeset_Descriptor::translators | ( | void | ) |
Definition at line 127 of file Codeset_Descriptor.cpp.
{
return this->trans_base_;
}
int TAO_Codeset_Descriptor::max_bytes_ [private] |
Definition at line 56 of file Codeset_Descriptor.h.
ACE_CDR::ULong TAO_Codeset_Descriptor::ncs_ [private] |
Definition at line 55 of file Codeset_Descriptor.h.
int TAO_Codeset_Descriptor::num_translators_ [private] |
Definition at line 57 of file Codeset_Descriptor.h.
Definition at line 58 of file Codeset_Descriptor.h.
1.7.0