summaryrefslogtreecommitdiff
path: root/trunk/TAO/tao/Codeset/Codeset_Translator_Factory_T.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/TAO/tao/Codeset/Codeset_Translator_Factory_T.cpp')
-rw-r--r--trunk/TAO/tao/Codeset/Codeset_Translator_Factory_T.cpp92
1 files changed, 92 insertions, 0 deletions
diff --git a/trunk/TAO/tao/Codeset/Codeset_Translator_Factory_T.cpp b/trunk/TAO/tao/Codeset/Codeset_Translator_Factory_T.cpp
new file mode 100644
index 00000000000..734417e9934
--- /dev/null
+++ b/trunk/TAO/tao/Codeset/Codeset_Translator_Factory_T.cpp
@@ -0,0 +1,92 @@
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/tao
+//
+// = FILENAME
+// Codeset_Translator_Factory_T.cpp
+//
+// = DESCRIPTION
+// The template for creating a particular instance of a codeset translator
+//
+// = AUTHORS
+// Phil Mesnier <mesnier_p@ociweb.com>
+//
+// ============================================================================
+#ifndef TAO_CODESET_TRANSLATOR_FACTORY_T_CPP
+#define TAO_CODESET_TRANSLATOR_FACTORY_T_CPP
+
+#include "tao/Codeset/Codeset_Translator_Factory_T.h"
+#include "tao/debug.h"
+#include "tao/CDR.h"
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+template<class NCS_TO_TCS>
+TAO_Codeset_Translator_Factory_T<NCS_TO_TCS>::TAO_Codeset_Translator_Factory_T () :
+ translator_(0)
+{
+}
+
+template<class NCS_TO_TCS>
+TAO_Codeset_Translator_Factory_T<NCS_TO_TCS>::~TAO_Codeset_Translator_Factory_T ()
+{
+ delete translator_;
+}
+
+template<class NCS_TO_TCS>
+int
+TAO_Codeset_Translator_Factory_T<NCS_TO_TCS>::init (int argc, ACE_TCHAR* argv[])
+{
+ this->TAO_Codeset_Translator_Factory::init (argc,argv);
+ ACE_NEW_RETURN (translator_,NCS_TO_TCS,-1);
+ if( TAO_debug_level > 0 )
+ ACE_DEBUG((LM_DEBUG, "TAO_Codeset_Translator_Factory_T<NCS_TO_TCS>::init() entered\n"));
+ return 0;
+}
+
+// ncs & tcs values set at compile time as a result of instantiating the
+// template.
+template<class NCS_TO_TCS>
+CONV_FRAME::CodeSetId
+TAO_Codeset_Translator_Factory_T<NCS_TO_TCS>::ncs () const
+{
+ return this->translator_->ncs();
+}
+
+template<class NCS_TO_TCS>
+CONV_FRAME::CodeSetId
+TAO_Codeset_Translator_Factory_T<NCS_TO_TCS>::tcs () const
+{
+ return this->translator_->tcs();
+}
+
+// Assign either a reference to teh existing translator or a new translator
+// for input CDR streams
+template<class NCS_TO_TCS>
+void
+TAO_Codeset_Translator_Factory_T<NCS_TO_TCS>::assign (TAO_InputCDR *cdr) const
+{
+ if (cdr)
+ {
+ this->assign_i(cdr,this->translator_);
+ }
+}
+
+// Assign either a reference to teh existing translator or a new translator
+// for input CDR streams
+template<class NCS_TO_TCS>
+void
+TAO_Codeset_Translator_Factory_T<NCS_TO_TCS>::assign (TAO_OutputCDR *cdr) const
+{
+ if (cdr)
+ {
+ this->assign_i(cdr,this->translator_);
+ }
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+#endif /* TAO_CODESET_TRANSLATOR_FACTORY_T_CPP */