[Ace-users] [tao-users] tao_idl fails to generate OMD IDL C++ Mapping Full Declaration accessor methods for typedef sequence<template> ClassName

Douglas C. Schmidt schmidt at dre.vanderbilt.edu
Wed Feb 13 08:09:42 CST 2008


Hi Martin,

> See attached problem report file for details, including the idl file and generated client header and C++ source.

Thanks for using the PRF.

> To: tao-users at mail.cse.wustl.edu
> Subject: [tao.idl]: [tao_idl fail to generate the Full Declaration accessor methods for typedef sequence <template> ClassName - no get_buufer() method is
> generated]
> 
>     TAO VERSION: 1.6
>     ACE VERSION: 5.6
> 
>     HOST MACHINE and OPERATING SYSTEM:
>       
>       Intel Xeon 3.0 GHz Dual Dual Core 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:37:32 EDT 2006 i686 i686 i386 GNU/Linux
>       
>     TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
>     COMPILER NAME AND VERSION (AND PATCHLEVEL):
> 
>     THE $ACE_ROOT/ace/config.h FILE [#define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
>                                      #include "ace/config-linux.h"]:
> 
>     THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
>                                                                 no_hidden_visibility=1]:
> 
>     CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
>     (used by MPC when you generate your own makefiles): 
>     
>      No such file or directory, but I used MPC to generate 
>      EventClient GNUmakefiles
> 
>     AREA/CLASS/EXAMPLE AFFECTED:
>    [tao_idl fail to generate the Full Declaration accessor methods for typedef sequence <template> ClassName - no get_buufer() method is
> generated.  invoked with "tao_idl  CANDY.idl"]
> 
>     DOES THE PROBLEM AFFECT:
>         COMPILATION?   NO
>             If so, what do your $ACE_ROOT/ace/config.h and
>             $ACE_ROOT/include/makeinclude/platform_macros.GNU contain?
> 	    
> 	    
> 	    
> 	     THE $ACE_ROOT/ace/config.h FILE [#define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
>                                               #include "ace/config-linux.h"]:
> 
>              THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
>                                                                          no_hidden_visibility=1]:
> 	    
> 	    
>         LINKING?
>             On Unix systems, did you run make realclean first?
> 	      
> 	      YES.
> 	      
>         EXECUTION?
>         OTHER (please specify)?
> 
>      [TAO tao-idl fails to generate OMG IDL Paragrahp 4.15.1 C++ mapping Full Declaration accessor methods for idl code "typedef sequence <template> ClassName"]
> 
>     SYNOPSIS:
>      
>      [tao_idl fails to generate get_buffer accessor method for "class PublishedCandy"] 

I'm not sure what you mean.  The get_buffer() accessor is defined by the
TAO sequence implementation, so there's no need for the IDL compiler to
define it separately.  If you do the following you'll see MANY examples
of using get_buffer().

% find $TAO_ROOT -type f -print | xargs egrep get_buffer

Thanks,

        Doug

> 
>      DESCRIPTION:
> 
>        Created CANDY.idl file and executed "tao_idl CANDY.idl" and tao_idl generated CANDYC.h and CANDYC.cpp - see below.
> 
> 
> 
>     REPEAT BY:
>    [ 
>  
>     execute tao_idl CANDY.idl form the command line:
>     
>    
>    CANDY.idl file:
>    
> #ifndef _CANDY_IDL_
> #define _CANDY_IDL_
> 
> module CANDY_STORE
> {  
> 
>   const long CandySetNameSize = 16;
>   
>   typedef string<CandySetNameSize> CandySetID;
> 
>   struct CandySet
>   {
>     CandySetID CandyId;
>     string     xmlCandySet;
>   };
>   
>   typedef sequence<CandySet> PublishedCandy;
> 
> /////////////////////////////////
> // Candy Device interface //
> /////////////////////////////////
>   interface ICandyDevice
>   {
> 		exception NoResources { string errDescription; };
> 		exception NotConnected { string errDescription; };
>   
>     PublishedCandy   getCandy ()
>     raises (NoResources, NotConnected);
>   };
> 
> };
> 
> #endif /*_CANDY_IDL_*/
> 
>    
>    
>    
> 
>   output of tao_idl CANDY.idl:  
>    
>    
>   CANDYC.h file  
>    
>   
>   
> // -*- C++ -*-
> //
> // $Id$
> 
> // ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****
> // TAO and the TAO IDL Compiler have been developed by:
> //       Center for Distributed Object Computing
> //       Washington University
> //       St. Louis, MO
> //       USA
> //       http://www.cs.wustl.edu/~schmidt/doc-center.html
> // and
> //       Distributed Object Computing Laboratory
> //       University of California at Irvine
> //       Irvine, CA
> //       USA
> //       http://doc.ece.uci.edu/
> // and
> //       Institute for Software Integrated Systems
> //       Vanderbilt University
> //       Nashville, TN
> //       USA
> //       http://www.isis.vanderbilt.edu/
> //
> // Information about TAO is available at:
> //     http://www.cs.wustl.edu/~schmidt/TAO.html
> 
> // TAO_IDL - Generated from
> // be/be_codegen.cpp:135
> 
> #ifndef _TAO_IDL_CANDYC_H_
> #define _TAO_IDL_CANDYC_H_
> 
> 
> #include /**/ "ace/config-all.h"
> 
> #if !defined (ACE_LACKS_PRAGMA_ONCE)
> # pragma once
> #endif /* ACE_LACKS_PRAGMA_ONCE */
> 
> 
> #include "tao/AnyTypeCode/AnyTypeCode_methods.h"
> #include "tao/ORB.h"
> #include "tao/SystemException.h"
> #include "tao/UserException.h"
> #include "tao/Basic_Types.h"
> #include "tao/ORB_Constants.h"
> #include "tao/Object.h"
> #include "tao/String_Manager_T.h"
> #include "tao/Sequence_T.h"
> #include "tao/Objref_VarOut_T.h"
> #include "tao/Seq_Var_T.h"
> #include "tao/Seq_Out_T.h"
> #include "tao/VarOut_T.h"
> #include /**/ "tao/Versioned_Namespace.h"
> 
> #if defined (TAO_EXPORT_MACRO)
> #undef TAO_EXPORT_MACRO
> #endif
> #define TAO_EXPORT_MACRO 
> 
> // TAO_IDL - Generated from 
> // be/be_visitor_root/root_ch.cpp:62
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> namespace TAO
> {
>   class Collocation_Proxy_Broker;
>   template<typename T> class Narrow_Utils;
> }
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_module/module_ch.cpp:49
> 
> namespace CANDY_STORE
> {
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_constant/constant_ch.cpp:52
>   
>   const CORBA::Long CandySetNameSize = 16;
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_typedef/typedef_ch.cpp:413
>   
>   typedef char * CandySetID;
>   typedef ::CORBA::String_var CandySetID_var;
>   typedef ::CORBA::String_out CandySetID_out;
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_typecode/typecode_decl.cpp:49
>   
>   extern  ::CORBA::TypeCode_ptr const _tc_CandySetID;
>   
>   // TAO_IDL - Generated from
>   // be/be_type.cpp:269
>   
>   struct CandySet;
>   
>   typedef
>     TAO_Var_Var_T<
>         CandySet
>       >
>     CandySet_var;
>   
>   typedef
>     TAO_Out_T<
>         CandySet
>       >
>     CandySet_out;
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_structure/structure_ch.cpp:57
>   
>   struct  CandySet
>   {
>     typedef CandySet_var _var_type;
>     typedef CandySet_out _out_type;
>     
>     static void _tao_any_destructor (void *);
>     TAO::String_Manager CandyId;
>     TAO::String_Manager xmlCandySet;
>   };
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_typecode/typecode_decl.cpp:49
>   
>   extern  ::CORBA::TypeCode_ptr const _tc_CandySet;
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_sequence/sequence_ch.cpp:107
> 
> #if !defined (_CANDY_STORE_PUBLISHEDCANDY_CH_)
> #define _CANDY_STORE_PUBLISHEDCANDY_CH_
>   
>   class PublishedCandy;
>   
>   typedef
>     TAO_VarSeq_Var_T<
>         PublishedCandy
>       >
>     PublishedCandy_var;
>   
>   typedef
>     TAO_Seq_Out_T<
>         PublishedCandy
>       >
>     PublishedCandy_out;
>   
>   class  PublishedCandy
>     : public
>         TAO::unbounded_value_sequence<
>             CandySet
>           >
>   {
>   public:
>     PublishedCandy (void);
>     PublishedCandy ( ::CORBA::ULong max);
>     PublishedCandy (
>         ::CORBA::ULong max,
>         ::CORBA::ULong length,
>         CandySet* buffer, 
>         ::CORBA::Boolean release = false
>       );
>     PublishedCandy (const PublishedCandy &);
>     virtual ~PublishedCandy (void);
>     
>     static void _tao_any_destructor (void *);
>     
>     typedef PublishedCandy_var _var_type;
>     typedef PublishedCandy_out _out_type;
>     
>     
>   };
> 
> #endif /* end #if !defined */
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_typecode/typecode_decl.cpp:49
>   
>   extern  ::CORBA::TypeCode_ptr const _tc_PublishedCandy;
>   
>   // TAO_IDL - Generated from
>   // be/be_interface.cpp:638
> 
> #if !defined (_CANDY_STORE_ICANDYDEVICE__VAR_OUT_CH_)
> #define _CANDY_STORE_ICANDYDEVICE__VAR_OUT_CH_
>   
>   class ICandyDevice;
>   typedef ICandyDevice *ICandyDevice_ptr;
>   
>   typedef
>     TAO_Objref_Var_T<
>         ICandyDevice
>       >
>     ICandyDevice_var;
>   
>   typedef
>     TAO_Objref_Out_T<
>         ICandyDevice
>       >
>     ICandyDevice_out;
> 
> #endif /* end #if !defined */
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_interface/interface_ch.cpp:54
> 
> #if !defined (_CANDY_STORE_ICANDYDEVICE_CH_)
> #define _CANDY_STORE_ICANDYDEVICE_CH_
>   
>   class  ICandyDevice
>     : public virtual ::CORBA::Object
>   {
>   public:
>     friend class TAO::Narrow_Utils<ICandyDevice>;
>     typedef ICandyDevice_ptr _ptr_type;
>     typedef ICandyDevice_var _var_type;
>     typedef ICandyDevice_out _out_type;
>     
>     // The static operations.
>     static ICandyDevice_ptr _duplicate (ICandyDevice_ptr obj);
>     
>     static void _tao_release (ICandyDevice_ptr obj);
>     
>     static ICandyDevice_ptr _narrow (::CORBA::Object_ptr obj);
>     static ICandyDevice_ptr _unchecked_narrow (::CORBA::Object_ptr obj);
>     static ICandyDevice_ptr _nil (void)
>     {
>       return static_cast<ICandyDevice_ptr> (0);
>     }
>     
>     static void _tao_any_destructor (void *);
>     
>     // TAO_IDL - Generated from
>     // be/be_visitor_exception/exception_ch.cpp:53
> 
> #if !defined (_CANDY_STORE_ICANDYDEVICE_NORESOURCES_CH_)
> #define _CANDY_STORE_ICANDYDEVICE_NORESOURCES_CH_
>     
>     class  NoResources : public ::CORBA::UserException
>     {
>     public:
>       
>       TAO::String_Manager errDescription;
>       NoResources (void);
>       NoResources (const NoResources &);
>       ~NoResources (void);
> 
>       NoResources &operator= (const NoResources &);
>       
>       static void _tao_any_destructor (void *);
>       
>       static NoResources *_downcast ( ::CORBA::Exception *);
>       static const NoResources *_downcast ( ::CORBA::Exception const *);
>       
>       static ::CORBA::Exception *_alloc (void);
>       
>       virtual ::CORBA::Exception *_tao_duplicate (void) const;
> 
>       virtual void _raise (void) const;
> 
>       virtual void _tao_encode (TAO_OutputCDR &cdr) const;
>       virtual void _tao_decode (TAO_InputCDR &cdr);
>       
>       
>       // TAO_IDL - Generated from
>       // be/be_visitor_exception/exception_ctor.cpp:66
>       
>       NoResources (
>           const char * _tao_errDescription
>         );
>       
>       virtual ::CORBA::TypeCode_ptr _tao_type (void) const;
>     };
>     
>     // TAO_IDL - Generated from
>     // be/be_visitor_typecode/typecode_decl.cpp:49
>     
>     static ::CORBA::TypeCode_ptr const _tc_NoResources;
> 
> #endif /* end #if !defined */
>     
>     // TAO_IDL - Generated from
>     // be/be_visitor_exception/exception_ch.cpp:53
> 
> #if !defined (_CANDY_STORE_ICANDYDEVICE_NOTCONNECTED_CH_)
> #define _CANDY_STORE_ICANDYDEVICE_NOTCONNECTED_CH_
>     
>     class  NotConnected : public ::CORBA::UserException
>     {
>     public:
>       
>       TAO::String_Manager errDescription;
>       NotConnected (void);
>       NotConnected (const NotConnected &);
>       ~NotConnected (void);
> 
>       NotConnected &operator= (const NotConnected &);
>       
>       static void _tao_any_destructor (void *);
>       
>       static NotConnected *_downcast ( ::CORBA::Exception *);
>       static const NotConnected *_downcast ( ::CORBA::Exception const *);
>       
>       static ::CORBA::Exception *_alloc (void);
>       
>       virtual ::CORBA::Exception *_tao_duplicate (void) const;
> 
>       virtual void _raise (void) const;
> 
>       virtual void _tao_encode (TAO_OutputCDR &cdr) const;
>       virtual void _tao_decode (TAO_InputCDR &cdr);
>       
>       
>       // TAO_IDL - Generated from
>       // be/be_visitor_exception/exception_ctor.cpp:66
>       
>       NotConnected (
>           const char * _tao_errDescription
>         );
>       
>       virtual ::CORBA::TypeCode_ptr _tao_type (void) const;
>     };
>     
>     // TAO_IDL - Generated from
>     // be/be_visitor_typecode/typecode_decl.cpp:49
>     
>     static ::CORBA::TypeCode_ptr const _tc_NotConnected;
> 
> #endif /* end #if !defined */
>     
>     // TAO_IDL - Generated from
>     // be/be_visitor_operation/operation_ch.cpp:46
>     
>     virtual ::CANDY_STORE::PublishedCandy * getCandy (
>         void);
>     
>     // TAO_IDL - Generated from
>     // be/be_visitor_interface/interface_ch.cpp:216
>     
>     virtual ::CORBA::Boolean _is_a (const char *type_id);
>     virtual const char* _interface_repository_id (void) const;
>     virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
>   private:
>     TAO::Collocation_Proxy_Broker *the_TAO_ICandyDevice_Proxy_Broker_;
>   
>   protected:
>     // Concrete interface only.
>     ICandyDevice (void);
>     
>     // These methods travese the inheritance tree and set the
>     // parents piece of the given class in the right mode.
>     virtual void CANDY_STORE_ICandyDevice_setup_collocation (void);
>     
>     // Concrete non-local interface only.
>     ICandyDevice (
>         IOP::IOR *ior,
>         TAO_ORB_Core *orb_core = 0);
>     
>     // Non-local interface only.
>     ICandyDevice (
>         TAO_Stub *objref,
>         ::CORBA::Boolean _tao_collocated = false,
>         TAO_Abstract_ServantBase *servant = 0,
>         TAO_ORB_Core *orb_core = 0);
>     
>     virtual ~ICandyDevice (void);
>   
>   private:
>     // Private and unimplemented for concrete interfaces.
>     ICandyDevice (const ICandyDevice &);
>     
>     void operator= (const ICandyDevice &);
>   };
> 
> #endif /* end #if !defined */
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_typecode/typecode_decl.cpp:49
>   
>   extern  ::CORBA::TypeCode_ptr const _tc_ICandyDevice;
> 
> // TAO_IDL - Generated from
> // be/be_visitor_module/module_ch.cpp:78
> 
> } // module CANDY_STORE
> 
> // Proxy Broker Factory function pointer declarations.
> 
> // TAO_IDL - Generated from
> // be/be_visitor_root/root.cpp:139
> 
> extern 
> TAO::Collocation_Proxy_Broker *
> (*CANDY_STORE__TAO_ICandyDevice_Proxy_Broker_Factory_function_pointer) (
>     ::CORBA::Object_ptr obj
>   );
> 
> // TAO_IDL - Generated from
> // be/be_visitor_traits.cpp:64
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> // Traits specializations.
> namespace TAO
> {
> 
> #if !defined (_CANDY_STORE_ICANDYDEVICE__TRAITS_)
> #define _CANDY_STORE_ICANDYDEVICE__TRAITS_
>   
>   template<>
>   struct  Objref_Traits< ::CANDY_STORE::ICandyDevice>
>   {
>     static ::CANDY_STORE::ICandyDevice_ptr duplicate (
>         ::CANDY_STORE::ICandyDevice_ptr
>       );
>     static void release (
>         ::CANDY_STORE::ICandyDevice_ptr
>       );
>     static ::CANDY_STORE::ICandyDevice_ptr nil (void);
>     static ::CORBA::Boolean marshal (
>         const ::CANDY_STORE::ICandyDevice_ptr p,
>         TAO_OutputCDR & cdr
>       );
>   };
> 
> #endif /* end #if !defined */
> }
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_structure/any_op_ch.cpp:53
> 
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
>  void operator<<= (::CORBA::Any &, const CANDY_STORE::CandySet &); // copying version
>  void operator<<= (::CORBA::Any &, CANDY_STORE::CandySet*); // noncopying version
>  ::CORBA::Boolean operator>>= (const ::CORBA::Any &, CANDY_STORE::CandySet *&); // deprecated
>  ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const CANDY_STORE::CandySet *&);
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_sequence/any_op_ch.cpp:53
> 
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
>  void operator<<= ( ::CORBA::Any &, const CANDY_STORE::PublishedCandy &); // copying version
>  void operator<<= ( ::CORBA::Any &, CANDY_STORE::PublishedCandy*); // noncopying version
>  ::CORBA::Boolean operator>>= (const ::CORBA::Any &, CANDY_STORE::PublishedCandy *&); // deprecated
>  ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const CANDY_STORE::PublishedCandy *&);
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_interface/any_op_ch.cpp:54
> 
> 
> 
> #if defined (ACE_ANY_OPS_USE_NAMESPACE)
> 
> namespace CANDY_STORE
> {
>    void operator<<= ( ::CORBA::Any &, ICandyDevice_ptr); // copying
>    void operator<<= ( ::CORBA::Any &, ICandyDevice_ptr *); // non-copying
>    ::CORBA::Boolean operator>>= (const ::CORBA::Any &, ICandyDevice_ptr &);
> }
> 
> #else
> 
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
>  void operator<<= (::CORBA::Any &, CANDY_STORE::ICandyDevice_ptr); // copying
>  void operator<<= (::CORBA::Any &, CANDY_STORE::ICandyDevice_ptr *); // non-copying
>  ::CORBA::Boolean operator>>= (const ::CORBA::Any &, CANDY_STORE::ICandyDevice_ptr &);
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> #endif
> 
> // TAO_IDL - Generated from
> // be/be_visitor_exception/any_op_ch.cpp:53
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
>  void operator<<= (::CORBA::Any &, const CANDY_STORE::ICandyDevice::NoResources &); // copying version
>  void operator<<= (::CORBA::Any &, CANDY_STORE::ICandyDevice::NoResources*); // noncopying version
>  ::CORBA::Boolean operator>>= (const ::CORBA::Any &, CANDY_STORE::ICandyDevice::NoResources *&); // deprecated
>  ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const CANDY_STORE::ICandyDevice::NoResources *&);
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_exception/any_op_ch.cpp:53
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
>  void operator<<= (::CORBA::Any &, const CANDY_STORE::ICandyDevice::NotConnected &); // copying version
>  void operator<<= (::CORBA::Any &, CANDY_STORE::ICandyDevice::NotConnected*); // noncopying version
>  ::CORBA::Boolean operator>>= (const ::CORBA::Any &, CANDY_STORE::ICandyDevice::NotConnected *&); // deprecated
>  ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const CANDY_STORE::ICandyDevice::NotConnected *&);
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_structure/cdr_op_ch.cpp:54
> 
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
>  ::CORBA::Boolean operator<< (TAO_OutputCDR &, const CANDY_STORE::CandySet &);
>  ::CORBA::Boolean operator>> (TAO_InputCDR &, CANDY_STORE::CandySet &);
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_sequence/cdr_op_ch.cpp:71
> 
> #if !defined _TAO_CDR_OP_CANDY_STORE_PublishedCandy_H_
> #define _TAO_CDR_OP_CANDY_STORE_PublishedCandy_H_
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
>  ::CORBA::Boolean operator<< (
>     TAO_OutputCDR &strm,
>     const CANDY_STORE::PublishedCandy &_tao_sequence
>   );
>  ::CORBA::Boolean operator>> (
>     TAO_InputCDR &strm,
>     CANDY_STORE::PublishedCandy &_tao_sequence
>   );
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> #endif /* _TAO_CDR_OP_CANDY_STORE_PublishedCandy_H_ */
> 
> // TAO_IDL - Generated from
> // be/be_visitor_interface/cdr_op_ch.cpp:55
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
>  ::CORBA::Boolean operator<< (TAO_OutputCDR &, const CANDY_STORE::ICandyDevice_ptr );
>  ::CORBA::Boolean operator>> (TAO_InputCDR &, CANDY_STORE::ICandyDevice_ptr &);
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_exception/cdr_op_ch.cpp:52
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
>  ::CORBA::Boolean operator<< (TAO_OutputCDR &, const CANDY_STORE::ICandyDevice::NoResources &);
>  ::CORBA::Boolean operator>> (TAO_InputCDR &, CANDY_STORE::ICandyDevice::NoResources &);
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_exception/cdr_op_ch.cpp:52
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
>  ::CORBA::Boolean operator<< (TAO_OutputCDR &, const CANDY_STORE::ICandyDevice::NotConnected &);
>  ::CORBA::Boolean operator>> (TAO_InputCDR &, CANDY_STORE::ICandyDevice::NotConnected &);
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_codegen.cpp:1219
> #if defined (__ACE_INLINE__)
> #include "CANDYC.inl"
> #endif /* defined INLINE */
> 
> #endif /* ifndef */
> 
> 
>   CANDYC.cpp file
>   
>   
>   // -*- C++ -*-
> //
> // $Id$
> 
> // ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****
> // TAO and the TAO IDL Compiler have been developed by:
> //       Center for Distributed Object Computing
> //       Washington University
> //       St. Louis, MO
> //       USA
> //       http://www.cs.wustl.edu/~schmidt/doc-center.html
> // and
> //       Distributed Object Computing Laboratory
> //       University of California at Irvine
> //       Irvine, CA
> //       USA
> //       http://doc.ece.uci.edu/
> // and
> //       Institute for Software Integrated Systems
> //       Vanderbilt University
> //       Nashville, TN
> //       USA
> //       http://www.isis.vanderbilt.edu/
> //
> // Information about TAO is available at:
> //     http://www.cs.wustl.edu/~schmidt/TAO.html
> 
> // TAO_IDL - Generated from
> // be/be_codegen.cpp:381
> 
> 
> #include "CANDYC.h"
> #include "tao/AnyTypeCode/Null_RefCount_Policy.h"
> #include "tao/AnyTypeCode/TypeCode_Constants.h"
> #include "tao/AnyTypeCode/Alias_TypeCode_Static.h"
> #include "tao/AnyTypeCode/Objref_TypeCode_Static.h"
> #include "tao/AnyTypeCode/Sequence_TypeCode_Static.h"
> #include "tao/AnyTypeCode/String_TypeCode_Static.h"
> #include "tao/AnyTypeCode/Struct_TypeCode_Static.h"
> #include "tao/AnyTypeCode/TypeCode_Struct_Field.h"
> #include "tao/CDR.h"
> #include "tao/Exception_Data.h"
> #include "tao/Invocation_Adapter.h"
> #include "tao/Object_T.h"
> #include "tao/CDR.h"
> #include "tao/AnyTypeCode/Any.h"
> #include "tao/AnyTypeCode/Any_Impl_T.h"
> #include "tao/AnyTypeCode/Any_Dual_Impl_T.h"
> #include "tao/Var_Size_Argument_T.h"
> #include "ace/OS_NS_string.h"
> 
> #if !defined (__ACE_INLINE__)
> #include "CANDYC.inl"
> #endif /* !defined INLINE */
> 
> // TAO_IDL - Generated from
> // be/be_visitor_arg_traits.cpp:73
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> // Arg traits specializations.
> namespace TAO
> {
>   
>   // TAO_IDL - Generated from
>   // be/be_visitor_arg_traits.cpp:620
> 
> #if !defined (_CANDY_STORE_PUBLISHEDCANDY__ARG_TRAITS_)
> #define _CANDY_STORE_PUBLISHEDCANDY__ARG_TRAITS_
>   
>   template<>
>   class Arg_Traits<CANDY_STORE::PublishedCandy>
>     : public
>         Var_Size_Arg_Traits_T<
>             CANDY_STORE::PublishedCandy,
>             TAO::Any_Insert_Policy_Stream <CANDY_STORE::PublishedCandy>
>           >
>   {
>   };
> 
> #endif /* end #if !defined */
> }
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_typecode/alias_typecode.cpp:50
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_typecode/typecode_defn.cpp:611
> 
> 
> #ifndef _TAO_TYPECODE_CORBA_STRING_16_GUARD
> #define _TAO_TYPECODE_CORBA_STRING_16_GUARD
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> namespace TAO
> {
>   namespace TypeCode
>   {
>     namespace
>     {
>       TAO::TypeCode::String<TAO::Null_RefCount_Policy>
>         CORBA_STRING_16 (
>           ::CORBA::tk_string,
>           16U);
>         
>       ::CORBA::TypeCode_ptr const tc_CORBA_STRING_16 =
>         &CORBA_STRING_16;
>     }
>   }
> }
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> #endif /* _TAO_TYPECODE_CORBA_STRING_16_GUARD */
> 
> static TAO::TypeCode::Alias<char const *,
>                             ::CORBA::TypeCode_ptr const *,
>                             TAO::Null_RefCount_Policy>
>   _tao_tc_CANDY_STORE_CandySetID (
>     ::CORBA::tk_alias,
>     "IDL:CANDY_STORE/CandySetID:1.0",
>     "CandySetID",
>     &TAO::TypeCode::tc_CORBA_STRING_16);
>   
> namespace CANDY_STORE
> {
>   ::CORBA::TypeCode_ptr const _tc_CandySetID =
>     &_tao_tc_CANDY_STORE_CandySetID;
> }
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_typecode/struct_typecode.cpp:84
> 
> static TAO::TypeCode::Struct_Field<
>   char const *,
>   ::CORBA::TypeCode_ptr const *> const 
>     _tao_fields_CANDY_STORE_CandySet[] =
>       {
>         { "CandyId", &CANDY_STORE::_tc_CandySetID },
>         { "xmlCandySet", &CORBA::_tc_string }
>       };
>   
> static TAO::TypeCode::Struct<
>   char const *,
>   ::CORBA::TypeCode_ptr const *,
>   TAO::TypeCode::Struct_Field<
>     char const *,
>     ::CORBA::TypeCode_ptr const *> const *,
>   TAO::Null_RefCount_Policy>
> _tao_tc_CANDY_STORE_CandySet (
>   ::CORBA::tk_struct,
>   "IDL:CANDY_STORE/CandySet:1.0",
>   "CandySet",
>   _tao_fields_CANDY_STORE_CandySet,
>   2);
> 
> namespace CANDY_STORE
> {
>   ::CORBA::TypeCode_ptr const _tc_CandySet =
>     &_tao_tc_CANDY_STORE_CandySet;
> }
> 
> 
> 
> // TAO_IDL - Generated from 
> // be/be_visitor_structure/structure_cs.cpp:66
> 
> void 
> CANDY_STORE::CandySet::_tao_any_destructor (
>     void *_tao_void_pointer
>   )
> {
>   CandySet *_tao_tmp_pointer =
>     static_cast<CandySet *> (_tao_void_pointer);
>   delete _tao_tmp_pointer;
> }
> 
> // TAO_IDL - Generated from 
> // be/be_visitor_sequence/sequence_cs.cpp:65
> 
> #if !defined (_CANDY_STORE_PUBLISHEDCANDY_CS_)
> #define _CANDY_STORE_PUBLISHEDCANDY_CS_
> 
> CANDY_STORE::PublishedCandy::PublishedCandy (void)
> {}
> 
> CANDY_STORE::PublishedCandy::PublishedCandy (
>     ::CORBA::ULong max
>   )
>   : TAO::unbounded_value_sequence<
>         CandySet
>       >
>     (max)
> {}
> 
> CANDY_STORE::PublishedCandy::PublishedCandy (
>     ::CORBA::ULong max,
>     ::CORBA::ULong length,
>     CANDY_STORE::CandySet * buffer,
>     ::CORBA::Boolean release
>   )
>   : TAO::unbounded_value_sequence<
>         CandySet
>       >
>     (max, length, buffer, release)
> {}
> 
> CANDY_STORE::PublishedCandy::PublishedCandy (
>     const PublishedCandy &seq
>   )
>   : TAO::unbounded_value_sequence<
>         CandySet
>       >
>     (seq)
> {}
> 
> CANDY_STORE::PublishedCandy::~PublishedCandy (void)
> {}
> 
> void CANDY_STORE::PublishedCandy::_tao_any_destructor (
>     void * _tao_void_pointer
>   )
> {
>   PublishedCandy * _tao_tmp_pointer =
>     static_cast<PublishedCandy *> (_tao_void_pointer);
>   delete _tao_tmp_pointer;
> }
> 
> #endif /* end #if !defined */
> 
> // TAO_IDL - Generated from
> // be/be_visitor_typecode/alias_typecode.cpp:50
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_typecode/typecode_defn.cpp:516
> 
> 
> #ifndef _TAO_TYPECODE_CANDY_STORE_PublishedCandy_GUARD
> #define _TAO_TYPECODE_CANDY_STORE_PublishedCandy_GUARD
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> namespace TAO
> {
>   namespace TypeCode
>   {
>     namespace
>     {
>       TAO::TypeCode::Sequence< ::CORBA::TypeCode_ptr const *,
>                               TAO::Null_RefCount_Policy>
>         CANDY_STORE_PublishedCandy_0 (
>           ::CORBA::tk_sequence,
>           &CANDY_STORE::_tc_CandySet,
>           0U);
>         
>       ::CORBA::TypeCode_ptr const tc_CANDY_STORE_PublishedCandy_0 =
>         &CANDY_STORE_PublishedCandy_0;
>     }
>   }
> }
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> #endif /* _TAO_TYPECODE_CANDY_STORE_PublishedCandy_GUARD */
> 
> static TAO::TypeCode::Alias<char const *,
>                             ::CORBA::TypeCode_ptr const *,
>                             TAO::Null_RefCount_Policy>
>   _tao_tc_CANDY_STORE_PublishedCandy (
>     ::CORBA::tk_alias,
>     "IDL:CANDY_STORE/PublishedCandy:1.0",
>     "PublishedCandy",
>     &TAO::TypeCode::tc_CANDY_STORE_PublishedCandy_0);
>   
> namespace CANDY_STORE
> {
>   ::CORBA::TypeCode_ptr const _tc_PublishedCandy =
>     &_tao_tc_CANDY_STORE_PublishedCandy;
> }
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_interface/interface_cs.cpp:60
> 
> // Traits specializations for CANDY_STORE::ICandyDevice.
> 
> CANDY_STORE::ICandyDevice_ptr
> TAO::Objref_Traits<CANDY_STORE::ICandyDevice>::duplicate (
>     CANDY_STORE::ICandyDevice_ptr p)
> {
>   return CANDY_STORE::ICandyDevice::_duplicate (p);
> }
> 
> void
> TAO::Objref_Traits<CANDY_STORE::ICandyDevice>::release (
>     CANDY_STORE::ICandyDevice_ptr p)
> {
>   ::CORBA::release (p);
> }
> 
> CANDY_STORE::ICandyDevice_ptr
> TAO::Objref_Traits<CANDY_STORE::ICandyDevice>::nil (void)
> {
>   return CANDY_STORE::ICandyDevice::_nil ();
> }
> 
> ::CORBA::Boolean
> TAO::Objref_Traits<CANDY_STORE::ICandyDevice>::marshal (
>     const CANDY_STORE::ICandyDevice_ptr p,
>     TAO_OutputCDR & cdr)
> {
>   return ::CORBA::Object::marshal (p, cdr);
> }
> 
> // Function pointer for collocation factory initialization.
> TAO::Collocation_Proxy_Broker * 
> (*CANDY_STORE__TAO_ICandyDevice_Proxy_Broker_Factory_function_pointer) (
>     ::CORBA::Object_ptr obj
>   ) = 0;
> 
> // TAO_IDL - Generated from
> // be/be_visitor_exception/exception_ctor.cpp:66
> 
> CANDY_STORE::ICandyDevice::NoResources::NoResources (
>     const char * _tao_errDescription
>   )
>   : ::CORBA::UserException (
>         "IDL:CANDY_STORE/ICandyDevice/NoResources:1.0",
>         "NoResources"
>       )
> {
>   this->errDescription = ::CORBA::string_dup (_tao_errDescription);
> }
> 
> 
> 
> // TAO_IDL - Generated from 
> // be/be_visitor_exception/exception_cs.cpp:110
> 
> CANDY_STORE::ICandyDevice::NoResources::NoResources (void)
>   : ::CORBA::UserException (
>         "IDL:CANDY_STORE/ICandyDevice/NoResources:1.0",
>         "NoResources"
>       )
> {
> }
> 
> CANDY_STORE::ICandyDevice::NoResources::~NoResources (void)
> {
> }
> 
> CANDY_STORE::ICandyDevice::NoResources::NoResources (const ::CANDY_STORE::ICandyDevice::NoResources &_tao_excp)
>   : ::CORBA::UserException (
>         _tao_excp._rep_id (),
>         _tao_excp._name ()
>       )
> {
>   this->errDescription = ::CORBA::string_dup (_tao_excp.errDescription.in ());
> }
> 
> CANDY_STORE::ICandyDevice::NoResources&
> CANDY_STORE::ICandyDevice::NoResources::operator= (const ::CANDY_STORE::ICandyDevice::NoResources &_tao_excp)
> {
>   this->::CORBA::UserException::operator= (_tao_excp);
>   this->errDescription = ::CORBA::string_dup (_tao_excp.errDescription.in ());
>   return *this;
> }
> 
> void CANDY_STORE::ICandyDevice::NoResources::_tao_any_destructor (void *_tao_void_pointer)
> {
>   NoResources *_tao_tmp_pointer =
>     static_cast<NoResources *> (_tao_void_pointer);
>   delete _tao_tmp_pointer;
> }
> 
> CANDY_STORE::ICandyDevice::NoResources *
> CANDY_STORE::ICandyDevice::NoResources::_downcast ( ::CORBA::Exception *_tao_excp)
> {
>   return dynamic_cast<NoResources *> (_tao_excp);
> }
> 
> const CANDY_STORE::ICandyDevice::NoResources *
> CANDY_STORE::ICandyDevice::NoResources::_downcast ( ::CORBA::Exception const *_tao_excp)
> {
>   return dynamic_cast<const NoResources *> (_tao_excp);
> }
> 
> ::CORBA::Exception *CANDY_STORE::ICandyDevice::NoResources::_alloc (void)
> {
>   ::CORBA::Exception *retval = 0;
>   ACE_NEW_RETURN (retval, ::CANDY_STORE::ICandyDevice::NoResources, 0);
>   return retval;
> }
> 
> ::CORBA::Exception *
> CANDY_STORE::ICandyDevice::NoResources::_tao_duplicate (void) const
> {
>   ::CORBA::Exception *result = 0;
>   ACE_NEW_RETURN (
>       result,
>       ::CANDY_STORE::ICandyDevice::NoResources (*this),
>       0
>     );
>   return result;
> }
> 
> void CANDY_STORE::ICandyDevice::NoResources::_raise (void) const
> {
>   throw *this;
> }
> 
> void CANDY_STORE::ICandyDevice::NoResources::_tao_encode (TAO_OutputCDR &cdr) const
> {
>   if (cdr << *this)
>     {
>       return;
>     }
>   
>   throw ::CORBA::MARSHAL ();
> }
> 
> void CANDY_STORE::ICandyDevice::NoResources::_tao_decode (TAO_InputCDR &cdr)
> {
>   if (cdr >> *this)
>     {
>       return;
>     }
>   
>   throw ::CORBA::MARSHAL ();
> }
> 
> // TAO extension - the virtual _type method.
> ::CORBA::TypeCode_ptr CANDY_STORE::ICandyDevice::NoResources::_tao_type (void) const
> {
>   return ::CANDY_STORE::ICandyDevice::_tc_NoResources;
> }
> 
> // TAO_IDL - Generated from
> // be/be_visitor_typecode/struct_typecode.cpp:84
> 
> static TAO::TypeCode::Struct_Field<
>   char const *,
>   ::CORBA::TypeCode_ptr const *> const 
>     _tao_fields_CANDY_STORE_ICandyDevice_NoResources[] =
>       {
>         { "errDescription", &CORBA::_tc_string }
>       };
>   
> static TAO::TypeCode::Struct<
>   char const *,
>   ::CORBA::TypeCode_ptr const *,
>   TAO::TypeCode::Struct_Field<
>     char const *,
>     ::CORBA::TypeCode_ptr const *> const *,
>   TAO::Null_RefCount_Policy>
> _tao_tc_CANDY_STORE_ICandyDevice_NoResources (
>   ::CORBA::tk_except,
>   "IDL:CANDY_STORE/ICandyDevice/NoResources:1.0",
>   "NoResources",
>   _tao_fields_CANDY_STORE_ICandyDevice_NoResources,
>   1);
> 
> ::CORBA::TypeCode_ptr const CANDY_STORE::ICandyDevice::_tc_NoResources =
>   &_tao_tc_CANDY_STORE_ICandyDevice_NoResources;
> 
> // TAO_IDL - Generated from
> // be/be_visitor_exception/exception_ctor.cpp:66
> 
> CANDY_STORE::ICandyDevice::NotConnected::NotConnected (
>     const char * _tao_errDescription
>   )
>   : ::CORBA::UserException (
>         "IDL:CANDY_STORE/ICandyDevice/NotConnected:1.0",
>         "NotConnected"
>       )
> {
>   this->errDescription = ::CORBA::string_dup (_tao_errDescription);
> }
> 
> 
> 
> // TAO_IDL - Generated from 
> // be/be_visitor_exception/exception_cs.cpp:110
> 
> CANDY_STORE::ICandyDevice::NotConnected::NotConnected (void)
>   : ::CORBA::UserException (
>         "IDL:CANDY_STORE/ICandyDevice/NotConnected:1.0",
>         "NotConnected"
>       )
> {
> }
> 
> CANDY_STORE::ICandyDevice::NotConnected::~NotConnected (void)
> {
> }
> 
> CANDY_STORE::ICandyDevice::NotConnected::NotConnected (const ::CANDY_STORE::ICandyDevice::NotConnected &_tao_excp)
>   : ::CORBA::UserException (
>         _tao_excp._rep_id (),
>         _tao_excp._name ()
>       )
> {
>   this->errDescription = ::CORBA::string_dup (_tao_excp.errDescription.in ());
> }
> 
> CANDY_STORE::ICandyDevice::NotConnected&
> CANDY_STORE::ICandyDevice::NotConnected::operator= (const ::CANDY_STORE::ICandyDevice::NotConnected &_tao_excp)
> {
>   this->::CORBA::UserException::operator= (_tao_excp);
>   this->errDescription = ::CORBA::string_dup (_tao_excp.errDescription.in ());
>   return *this;
> }
> 
> void CANDY_STORE::ICandyDevice::NotConnected::_tao_any_destructor (void *_tao_void_pointer)
> {
>   NotConnected *_tao_tmp_pointer =
>     static_cast<NotConnected *> (_tao_void_pointer);
>   delete _tao_tmp_pointer;
> }
> 
> CANDY_STORE::ICandyDevice::NotConnected *
> CANDY_STORE::ICandyDevice::NotConnected::_downcast ( ::CORBA::Exception *_tao_excp)
> {
>   return dynamic_cast<NotConnected *> (_tao_excp);
> }
> 
> const CANDY_STORE::ICandyDevice::NotConnected *
> CANDY_STORE::ICandyDevice::NotConnected::_downcast ( ::CORBA::Exception const *_tao_excp)
> {
>   return dynamic_cast<const NotConnected *> (_tao_excp);
> }
> 
> ::CORBA::Exception *CANDY_STORE::ICandyDevice::NotConnected::_alloc (void)
> {
>   ::CORBA::Exception *retval = 0;
>   ACE_NEW_RETURN (retval, ::CANDY_STORE::ICandyDevice::NotConnected, 0);
>   return retval;
> }
> 
> ::CORBA::Exception *
> CANDY_STORE::ICandyDevice::NotConnected::_tao_duplicate (void) const
> {
>   ::CORBA::Exception *result = 0;
>   ACE_NEW_RETURN (
>       result,
>       ::CANDY_STORE::ICandyDevice::NotConnected (*this),
>       0
>     );
>   return result;
> }
> 
> void CANDY_STORE::ICandyDevice::NotConnected::_raise (void) const
> {
>   throw *this;
> }
> 
> void CANDY_STORE::ICandyDevice::NotConnected::_tao_encode (TAO_OutputCDR &cdr) const
> {
>   if (cdr << *this)
>     {
>       return;
>     }
>   
>   throw ::CORBA::MARSHAL ();
> }
> 
> void CANDY_STORE::ICandyDevice::NotConnected::_tao_decode (TAO_InputCDR &cdr)
> {
>   if (cdr >> *this)
>     {
>       return;
>     }
>   
>   throw ::CORBA::MARSHAL ();
> }
> 
> // TAO extension - the virtual _type method.
> ::CORBA::TypeCode_ptr CANDY_STORE::ICandyDevice::NotConnected::_tao_type (void) const
> {
>   return ::CANDY_STORE::ICandyDevice::_tc_NotConnected;
> }
> 
> // TAO_IDL - Generated from
> // be/be_visitor_typecode/struct_typecode.cpp:84
> 
> static TAO::TypeCode::Struct_Field<
>   char const *,
>   ::CORBA::TypeCode_ptr const *> const 
>     _tao_fields_CANDY_STORE_ICandyDevice_NotConnected[] =
>       {
>         { "errDescription", &CORBA::_tc_string }
>       };
>   
> static TAO::TypeCode::Struct<
>   char const *,
>   ::CORBA::TypeCode_ptr const *,
>   TAO::TypeCode::Struct_Field<
>     char const *,
>     ::CORBA::TypeCode_ptr const *> const *,
>   TAO::Null_RefCount_Policy>
> _tao_tc_CANDY_STORE_ICandyDevice_NotConnected (
>   ::CORBA::tk_except,
>   "IDL:CANDY_STORE/ICandyDevice/NotConnected:1.0",
>   "NotConnected",
>   _tao_fields_CANDY_STORE_ICandyDevice_NotConnected,
>   1);
> 
> ::CORBA::TypeCode_ptr const CANDY_STORE::ICandyDevice::_tc_NotConnected =
>   &_tao_tc_CANDY_STORE_ICandyDevice_NotConnected;
> 
> // TAO_IDL - Generated from
> // be/be_visitor_operation/operation_cs.cpp:78
> 
> ::CANDY_STORE::PublishedCandy * CANDY_STORE::ICandyDevice::getCandy (
>     void)
> {
>   if (!this->is_evaluated ())
>     {
>       ::CORBA::Object::tao_object_initialize (this);
>     }
>   
>   if (this->the_TAO_ICandyDevice_Proxy_Broker_ == 0)
>     {
>       CANDY_STORE_ICandyDevice_setup_collocation ();
>     }
>   
>   TAO::Arg_Traits< ::CANDY_STORE::PublishedCandy>::ret_val _tao_retval;
>   
>   TAO::Argument *_the_tao_operation_signature [] =
>     {
>       &_tao_retval
>     };
>   
>   static TAO::Exception_Data
>   _tao_CANDY_STORE_ICandyDevice_getCandy_exceptiondata [] = 
>     {
>       {
>         "IDL:CANDY_STORE/ICandyDevice/NoResources:1.0",
>         CANDY_STORE::ICandyDevice::NoResources::_alloc
> #if TAO_HAS_INTERCEPTORS == 1
>         , CANDY_STORE::ICandyDevice::_tc_NoResources
> #endif /* TAO_HAS_INTERCEPTORS */
>       },
>       
>       {
>         "IDL:CANDY_STORE/ICandyDevice/NotConnected:1.0",
>         CANDY_STORE::ICandyDevice::NotConnected::_alloc
> #if TAO_HAS_INTERCEPTORS == 1
>         , CANDY_STORE::ICandyDevice::_tc_NotConnected
> #endif /* TAO_HAS_INTERCEPTORS */
>       }
>     };
>   
>   TAO::Invocation_Adapter _tao_call (
>       this,
>       _the_tao_operation_signature,
>       1,
>       "getCandy",
>       8,
>       this->the_TAO_ICandyDevice_Proxy_Broker_
>     );
>   
>   _tao_call.invoke (
>       _tao_CANDY_STORE_ICandyDevice_getCandy_exceptiondata,
>       2
>     );
>   
>   return _tao_retval.retn ();
> }
> 
> CANDY_STORE::ICandyDevice::ICandyDevice (void)
>  : the_TAO_ICandyDevice_Proxy_Broker_ (0)
> {
>   this->CANDY_STORE_ICandyDevice_setup_collocation ();
> }
> 
> void
> CANDY_STORE::ICandyDevice::CANDY_STORE_ICandyDevice_setup_collocation ()
> {
>   if (::CANDY_STORE__TAO_ICandyDevice_Proxy_Broker_Factory_function_pointer)
>     {
>       this->the_TAO_ICandyDevice_Proxy_Broker_ =
>         ::CANDY_STORE__TAO_ICandyDevice_Proxy_Broker_Factory_function_pointer (this);
>     }
> }
> 
> CANDY_STORE::ICandyDevice::~ICandyDevice (void)
> {}
> 
> void 
> CANDY_STORE::ICandyDevice::_tao_any_destructor (void *_tao_void_pointer)
> {
>   ICandyDevice *_tao_tmp_pointer =
>     static_cast<ICandyDevice *> (_tao_void_pointer);
>   ::CORBA::release (_tao_tmp_pointer);
> }
> 
> CANDY_STORE::ICandyDevice_ptr
> CANDY_STORE::ICandyDevice::_narrow (
>     ::CORBA::Object_ptr _tao_objref
>   )
> {
>   return
>     TAO::Narrow_Utils<ICandyDevice>::narrow (
>         _tao_objref,
>         "IDL:CANDY_STORE/ICandyDevice:1.0",
>         CANDY_STORE__TAO_ICandyDevice_Proxy_Broker_Factory_function_pointer
>       );
> }
> 
> CANDY_STORE::ICandyDevice_ptr
> CANDY_STORE::ICandyDevice::_unchecked_narrow (
>     ::CORBA::Object_ptr _tao_objref
>   )
> {
>   return
>     TAO::Narrow_Utils<ICandyDevice>::unchecked_narrow (
>         _tao_objref,
>         "IDL:CANDY_STORE/ICandyDevice:1.0",
>         CANDY_STORE__TAO_ICandyDevice_Proxy_Broker_Factory_function_pointer
>       );
> }
> 
> CANDY_STORE::ICandyDevice_ptr
> CANDY_STORE::ICandyDevice::_duplicate (ICandyDevice_ptr obj)
> {
>   if (! ::CORBA::is_nil (obj))
>     {
>       obj->_add_ref ();
>     }
>   
>   return obj;
> }
> 
> void
> CANDY_STORE::ICandyDevice::_tao_release (ICandyDevice_ptr obj)
> {
>   ::CORBA::release (obj);
> }
> 
> ::CORBA::Boolean
> CANDY_STORE::ICandyDevice::_is_a (const char *value)
> {
>   if (
>       !ACE_OS::strcmp (
>           value,
>           "IDL:CANDY_STORE/ICandyDevice:1.0"
>         ) ||
>       !ACE_OS::strcmp (
>           value,
>           "IDL:omg.org/CORBA/Object:1.0"
>         )
>     )
>     {
>       return true; // success using local knowledge
>     }
>   else
>     {
>       return this->::CORBA::Object::_is_a (value);
>     }
> }
> 
> const char* CANDY_STORE::ICandyDevice::_interface_repository_id (void) const
> {
>   return "IDL:CANDY_STORE/ICandyDevice:1.0";
> }
> 
> ::CORBA::Boolean
> CANDY_STORE::ICandyDevice::marshal (TAO_OutputCDR &cdr)
> {
>   return (cdr << this);
> }
> 
> // TAO_IDL - Generated from
> // be/be_visitor_typecode/objref_typecode.cpp:76
> 
> static TAO::TypeCode::Objref<char const *,
>                              TAO::Null_RefCount_Policy>
>   _tao_tc_CANDY_STORE_ICandyDevice (
>     ::CORBA::tk_objref,
>     "IDL:CANDY_STORE/ICandyDevice:1.0",
>     "ICandyDevice");
>   
> namespace CANDY_STORE
> {
>   ::CORBA::TypeCode_ptr const _tc_ICandyDevice =
>     &_tao_tc_CANDY_STORE_ICandyDevice;
> }
> 
> 
> 
> // TAO_IDL - Generated from 
> // be/be_visitor_structure/any_op_cs.cpp:54
> 
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> // Copying insertion.
> void operator<<= (
>     ::CORBA::Any &_tao_any,
>     const CANDY_STORE::CandySet &_tao_elem
>   )
> {
>   if (0 == &_tao_elem) // Trying to de-reference NULL object
>     _tao_any <<= static_cast<CANDY_STORE::CandySet *>( 0 ); // Use non-copying insertion of a NULL
>   else
>     TAO::Any_Dual_Impl_T<CANDY_STORE::CandySet>::insert_copy (
>         _tao_any,
>         CANDY_STORE::CandySet::_tao_any_destructor,
>         CANDY_STORE::_tc_CandySet,
>         _tao_elem
>       );
> }
> 
> // Non-copying insertion.
> void operator<<= (
>     ::CORBA::Any &_tao_any,
>     CANDY_STORE::CandySet *_tao_elem
>   )
> {
>   TAO::Any_Dual_Impl_T<CANDY_STORE::CandySet>::insert (
>       _tao_any,
>       CANDY_STORE::CandySet::_tao_any_destructor,
>       CANDY_STORE::_tc_CandySet,
>       _tao_elem
>     );
> }
> 
> // Extraction to non-const pointer (deprecated).
> ::CORBA::Boolean operator>>= (
>     const ::CORBA::Any &_tao_any,
>     CANDY_STORE::CandySet *&_tao_elem
>   )
> {
>   return _tao_any >>= const_cast<
>       const CANDY_STORE::CandySet *&> (
>       _tao_elem
>     );
> }
> 
> // Extraction to const pointer.
> ::CORBA::Boolean operator>>= (
>     const ::CORBA::Any &_tao_any,
>     const CANDY_STORE::CandySet *&_tao_elem
>   )
> {
>   return
>     TAO::Any_Dual_Impl_T<CANDY_STORE::CandySet>::extract (
>         _tao_any,
>         CANDY_STORE::CandySet::_tao_any_destructor,
>         CANDY_STORE::_tc_CandySet,
>         _tao_elem
>       );
> }
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from 
> // be/be_visitor_sequence/any_op_cs.cpp:54
> 
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> // Copying insertion.
> void operator<<= (
>     ::CORBA::Any &_tao_any,
>     const CANDY_STORE::PublishedCandy &_tao_elem
>   )
> {
>   if (0 == &_tao_elem) // Trying to de-reference NULL object
>     _tao_any <<= static_cast<CANDY_STORE::PublishedCandy *>( 0 ); // Use non-copying insertion of a NULL
>   else
>     TAO::Any_Dual_Impl_T<CANDY_STORE::PublishedCandy>::insert_copy (
>         _tao_any,
>         CANDY_STORE::PublishedCandy::_tao_any_destructor,
>         CANDY_STORE::_tc_PublishedCandy,
>         _tao_elem
>       );
> }
> 
> // Non-copying insertion.
> void operator<<= (
>     ::CORBA::Any &_tao_any,
>     CANDY_STORE::PublishedCandy *_tao_elem
>   )
> {
>   TAO::Any_Dual_Impl_T<CANDY_STORE::PublishedCandy>::insert (
>       _tao_any,
>       CANDY_STORE::PublishedCandy::_tao_any_destructor,
>       CANDY_STORE::_tc_PublishedCandy,
>       _tao_elem
>     );
> }
> 
> // Extraction to non-const pointer (deprecated).
> ::CORBA::Boolean operator>>= (
>     const ::CORBA::Any &_tao_any,
>     CANDY_STORE::PublishedCandy *&_tao_elem
>   )
> {
>   return _tao_any >>= const_cast<
>       const CANDY_STORE::PublishedCandy *&> (
>       _tao_elem
>     );
> }
> 
> // Extraction to const pointer.
> ::CORBA::Boolean operator>>= (
>     const ::CORBA::Any &_tao_any,
>     const CANDY_STORE::PublishedCandy *&_tao_elem
>   )
> {
>   return
>     TAO::Any_Dual_Impl_T<CANDY_STORE::PublishedCandy>::extract (
>         _tao_any,
>         CANDY_STORE::PublishedCandy::_tao_any_destructor,
>         CANDY_STORE::_tc_PublishedCandy,
>         _tao_elem
>       );
> }
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_interface/any_op_cs.cpp:51
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> namespace TAO
> {
>   template<>
>   ::CORBA::Boolean
>   Any_Impl_T<CANDY_STORE::ICandyDevice>::to_object (
>       ::CORBA::Object_ptr &_tao_elem
>     ) const
>   {
>     _tao_elem = ::CORBA::Object::_duplicate (this->value_);
>     return true;
>   }
> }
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> #if defined (ACE_ANY_OPS_USE_NAMESPACE)
> 
> namespace CANDY_STORE
> {
>   
>   
>   /// Copying insertion.
>   void
>   operator<<= (
>       ::CORBA::Any &_tao_any,
>       ICandyDevice_ptr _tao_elem)
>   {
>     ICandyDevice_ptr _tao_objptr =
>       ICandyDevice::_duplicate (_tao_elem);
>     _tao_any <<= &_tao_objptr;
>   }
>   
>   /// Non-copying insertion.
>   void
>   operator<<= (
>       ::CORBA::Any &_tao_any,
>       ICandyDevice_ptr *_tao_elem)
>   {
>     TAO::Any_Impl_T<ICandyDevice>::insert (
>         _tao_any,
>         ICandyDevice::_tao_any_destructor,
>         _tc_ICandyDevice,
>         *_tao_elem)
>   }
>   
>   ::CORBA::Boolean
>   operator>>= (
>       const ::CORBA::Any &_tao_any,
>       ICandyDevice_ptr &_tao_elem)
>   {
>     return
>       TAO::Any_Impl_T<ICandyDevice>::extract (
>           _tao_any,
>           ICandyDevice::_tao_any_destructor,
>           _tc_ICandyDevice,
>           _tao_elem)
>   }
> }
> 
> #else
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> /// Copying insertion.
> void
> operator<<= (
>     ::CORBA::Any &_tao_any,
>     CANDY_STORE::ICandyDevice_ptr _tao_elem)
> {
>   CANDY_STORE::ICandyDevice_ptr _tao_objptr =
>     CANDY_STORE::ICandyDevice::_duplicate (_tao_elem);
>   _tao_any <<= &_tao_objptr;
> }
> 
> /// Non-copying insertion.
> void
> operator<<= (
>     ::CORBA::Any &_tao_any,
>     CANDY_STORE::ICandyDevice_ptr *_tao_elem)
> {
>   TAO::Any_Impl_T<CANDY_STORE::ICandyDevice>::insert (
>       _tao_any,
>       CANDY_STORE::ICandyDevice::_tao_any_destructor,
>       CANDY_STORE::_tc_ICandyDevice,
>       *_tao_elem);
> }
> 
> ::CORBA::Boolean
> operator>>= (
>     const ::CORBA::Any &_tao_any,
>     CANDY_STORE::ICandyDevice_ptr &_tao_elem)
> {
>   return
>     TAO::Any_Impl_T<CANDY_STORE::ICandyDevice>::extract (
>         _tao_any,
>         CANDY_STORE::ICandyDevice::_tao_any_destructor,
>         CANDY_STORE::_tc_ICandyDevice,
>         _tao_elem);
> }
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> #endif
> 
> // TAO_IDL - Generated from 
> // be/be_visitor_exception/any_op_cs.cpp:50
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> namespace TAO
> {
>   template<>
>   ::CORBA::Boolean
>   Any_Dual_Impl_T<CANDY_STORE::ICandyDevice::NoResources>::demarshal_value (
>       TAO_InputCDR & cdr
>     )
>   {
>     ::CORBA::String_var id;
>     
>     if (!(cdr >> id.out ()))
>       {
>         return false;
>       }
>     
>     try
>       {
>         this->value_->_tao_decode (cdr);
>       }
>     catch (const ::CORBA::Exception &)
>       {
>         return false;
>       }
>     
>     return true;
>   }
> }
> 
> // Copying insertion.
> void operator<<= (
>     ::CORBA::Any &_tao_any,
>     const CANDY_STORE::ICandyDevice::NoResources &_tao_elem
>   )
> {
>   TAO::Any_Dual_Impl_T<CANDY_STORE::ICandyDevice::NoResources>::insert_copy (
>       _tao_any,
>       CANDY_STORE::ICandyDevice::NoResources::_tao_any_destructor,
>       CANDY_STORE::ICandyDevice::_tc_NoResources,
>       _tao_elem
>     );
> }
> 
> // Non-copying insertion.
> void operator<<= (
>     ::CORBA::Any &_tao_any,
>     CANDY_STORE::ICandyDevice::NoResources *_tao_elem
>   )
> {
>   TAO::Any_Dual_Impl_T<CANDY_STORE::ICandyDevice::NoResources>::insert (
>       _tao_any,
>       CANDY_STORE::ICandyDevice::NoResources::_tao_any_destructor,
>       CANDY_STORE::ICandyDevice::_tc_NoResources,
>       _tao_elem
>     );
> }
> 
> // Extraction to non-const pointer (deprecated).
> ::CORBA::Boolean operator>>= (
>     const ::CORBA::Any &_tao_any,
>     CANDY_STORE::ICandyDevice::NoResources *&_tao_elem
>   )
> {
>   return _tao_any >>= const_cast<
>       const CANDY_STORE::ICandyDevice::NoResources *&> (
>       _tao_elem
>     );
> }
> 
> // Extraction to const pointer.
> ::CORBA::Boolean operator>>= (
>     const ::CORBA::Any &_tao_any,
>     const CANDY_STORE::ICandyDevice::NoResources *&_tao_elem
>   )
> {
>   return
>     TAO::Any_Dual_Impl_T<CANDY_STORE::ICandyDevice::NoResources>::extract (
>         _tao_any,
>         CANDY_STORE::ICandyDevice::NoResources::_tao_any_destructor,
>         CANDY_STORE::ICandyDevice::_tc_NoResources,
>         _tao_elem
>       );
> }
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from 
> // be/be_visitor_exception/any_op_cs.cpp:50
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> namespace TAO
> {
>   template<>
>   ::CORBA::Boolean
>   Any_Dual_Impl_T<CANDY_STORE::ICandyDevice::NotConnected>::demarshal_value (
>       TAO_InputCDR & cdr
>     )
>   {
>     ::CORBA::String_var id;
>     
>     if (!(cdr >> id.out ()))
>       {
>         return false;
>       }
>     
>     try
>       {
>         this->value_->_tao_decode (cdr);
>       }
>     catch (const ::CORBA::Exception &)
>       {
>         return false;
>       }
>     
>     return true;
>   }
> }
> 
> // Copying insertion.
> void operator<<= (
>     ::CORBA::Any &_tao_any,
>     const CANDY_STORE::ICandyDevice::NotConnected &_tao_elem
>   )
> {
>   TAO::Any_Dual_Impl_T<CANDY_STORE::ICandyDevice::NotConnected>::insert_copy (
>       _tao_any,
>       CANDY_STORE::ICandyDevice::NotConnected::_tao_any_destructor,
>       CANDY_STORE::ICandyDevice::_tc_NotConnected,
>       _tao_elem
>     );
> }
> 
> // Non-copying insertion.
> void operator<<= (
>     ::CORBA::Any &_tao_any,
>     CANDY_STORE::ICandyDevice::NotConnected *_tao_elem
>   )
> {
>   TAO::Any_Dual_Impl_T<CANDY_STORE::ICandyDevice::NotConnected>::insert (
>       _tao_any,
>       CANDY_STORE::ICandyDevice::NotConnected::_tao_any_destructor,
>       CANDY_STORE::ICandyDevice::_tc_NotConnected,
>       _tao_elem
>     );
> }
> 
> // Extraction to non-const pointer (deprecated).
> ::CORBA::Boolean operator>>= (
>     const ::CORBA::Any &_tao_any,
>     CANDY_STORE::ICandyDevice::NotConnected *&_tao_elem
>   )
> {
>   return _tao_any >>= const_cast<
>       const CANDY_STORE::ICandyDevice::NotConnected *&> (
>       _tao_elem
>     );
> }
> 
> // Extraction to const pointer.
> ::CORBA::Boolean operator>>= (
>     const ::CORBA::Any &_tao_any,
>     const CANDY_STORE::ICandyDevice::NotConnected *&_tao_elem
>   )
> {
>   return
>     TAO::Any_Dual_Impl_T<CANDY_STORE::ICandyDevice::NotConnected>::extract (
>         _tao_any,
>         CANDY_STORE::ICandyDevice::NotConnected::_tao_any_destructor,
>         CANDY_STORE::ICandyDevice::_tc_NotConnected,
>         _tao_elem
>       );
> }
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_structure/cdr_op_cs.cpp:61
> 
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> ::CORBA::Boolean operator<< (
>     TAO_OutputCDR &strm,
>     const CANDY_STORE::CandySet &_tao_aggregate
>   )
> {
>   return
>     (strm << _tao_aggregate.CandyId.in ()) &&
>     (strm << _tao_aggregate.xmlCandySet.in ());
> }
> 
> ::CORBA::Boolean operator>> (
>     TAO_InputCDR &strm,
>     CANDY_STORE::CandySet &_tao_aggregate
>   )
> {
>   return
>     (strm >> _tao_aggregate.CandyId.out ()) &&
>     (strm >> _tao_aggregate.xmlCandySet.out ());
> }
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_sequence/cdr_op_cs.cpp:96
> #if !defined _TAO_CDR_OP_CANDY_STORE_PublishedCandy_CPP_
> #define _TAO_CDR_OP_CANDY_STORE_PublishedCandy_CPP_
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> ::CORBA::Boolean operator<< (
>     TAO_OutputCDR &strm,
>     const CANDY_STORE::PublishedCandy &_tao_sequence
>   )
> {
>   return TAO::marshal_sequence(strm, _tao_sequence);
> }
> 
> ::CORBA::Boolean operator>> (
>     TAO_InputCDR &strm,
>     CANDY_STORE::PublishedCandy &_tao_sequence
>   )
> {
>   return TAO::demarshal_sequence(strm, _tao_sequence);
> }
> 
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> #endif /* _TAO_CDR_OP_CANDY_STORE_PublishedCandy_CPP_ */
> 
> // TAO_IDL - Generated from
> // be/be_visitor_exception/cdr_op_cs.cpp:60
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> ::CORBA::Boolean operator<< (
>     TAO_OutputCDR &strm,
>     const CANDY_STORE::ICandyDevice::NoResources &_tao_aggregate
>   )
> {
>   // First marshal the repository ID.
>   if (strm << _tao_aggregate._rep_id ())
>     {
>       // Now marshal the members (if any).
>       return (
>         (strm << _tao_aggregate.errDescription.in ())
>        );
>     }
>   else
>     {
>       return false;
>     }
> }
> 
> ::CORBA::Boolean operator>> (
>     TAO_InputCDR &strm,
>     CANDY_STORE::ICandyDevice::NoResources &_tao_aggregate
>   )
> {
>   // Demarshal the members.
>   return (
>     (strm >> _tao_aggregate.errDescription.out ())
>   );
> }
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_exception/cdr_op_cs.cpp:60
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> ::CORBA::Boolean operator<< (
>     TAO_OutputCDR &strm,
>     const CANDY_STORE::ICandyDevice::NotConnected &_tao_aggregate
>   )
> {
>   // First marshal the repository ID.
>   if (strm << _tao_aggregate._rep_id ())
>     {
>       // Now marshal the members (if any).
>       return (
>         (strm << _tao_aggregate.errDescription.in ())
>        );
>     }
>   else
>     {
>       return false;
>     }
> }
> 
> ::CORBA::Boolean operator>> (
>     TAO_InputCDR &strm,
>     CANDY_STORE::ICandyDevice::NotConnected &_tao_aggregate
>   )
> {
>   // Demarshal the members.
>   return (
>     (strm >> _tao_aggregate.errDescription.out ())
>   );
> }
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
> 
> // TAO_IDL - Generated from
> // be/be_visitor_interface/cdr_op_cs.cpp:63
> 
> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> 
> ::CORBA::Boolean operator<< (
>     TAO_OutputCDR &strm,
>     const CANDY_STORE::ICandyDevice_ptr _tao_objref)
> {
>   ::CORBA::Object_ptr _tao_corba_obj = _tao_objref;
>   return (strm << _tao_corba_obj);
> }
> 
> ::CORBA::Boolean operator>> (
>     TAO_InputCDR &strm,
>     CANDY_STORE::ICandyDevice_ptr &_tao_objref)
> {
>   ::CORBA::Object_var obj;
>   
>   if (!(strm >> obj.inout ()))
>     {
>       return false;
>     }
>   
>   typedef ::CANDY_STORE::ICandyDevice RHS_SCOPED_NAME;
>   
>   // Narrow to the right type.
>   _tao_objref =
>     TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
>         obj.in (),
>         CANDY_STORE__TAO_ICandyDevice_Proxy_Broker_Factory_function_pointer
>       );
>     
>   return true;
> }
> 
> TAO_END_VERSIONED_NAMESPACE_DECL
> 
> 
>  ]
> 
>     SAMPLE FIX/WORKAROUND:
>  [ ]
> 



More information about the Ace-users mailing list