// **********************************************************************
//
// Generated by the ORBacus IDL-to-C++ Translator
//
// Copyright (c) 1998
// Object-Oriented Concepts, Inc.
// Billerica, MA, USA
//
// Copyright (c) 1998
// Object-Oriented Concepts GmbH
// Ettlingen, Germany
//
// All Rights Reserved
//
// **********************************************************************

// Version: 3.0
// License: non-commercial

#ifndef __IntRep_skel_h__
#define __IntRep_skel_h__

#include <OB/IntRep.h>

#include <OB/IntRepMember_skel.h>

//
// IDL:omg.org/CORBA:1.0
//

//
// IDL:omg.org/CORBA/Contained:1.0
//
class CORBA_Contained_skel : virtual public CORBA_Contained,
                             virtual public CORBA_IRObject_skel
{
    CORBA_Contained_skel(const CORBA_Contained_skel&);
    void operator=(const CORBA_Contained_skel&);

public:

    CORBA_Contained_skel() { }

    CORBA_Contained_ptr _this() { return CORBA_Contained::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/Contained/id:1.0
    //
    virtual CORBA_RepositoryId id() = 0;
    virtual void id(const char*) = 0;

    //
    // IDL:omg.org/CORBA/Contained/name:1.0
    //
    virtual CORBA_Identifier name() = 0;
    virtual void name(const char*) = 0;

    //
    // IDL:omg.org/CORBA/Contained/version:1.0
    //
    virtual CORBA_VersionSpec version() = 0;
    virtual void version(const char*) = 0;

    //
    // IDL:omg.org/CORBA/Contained/defined_in:1.0
    //
    virtual CORBA_Container_ptr defined_in() = 0;

    //
    // IDL:omg.org/CORBA/Contained/absolute_name:1.0
    //
    virtual CORBA_ScopedName absolute_name() = 0;

    //
    // IDL:omg.org/CORBA/Contained/containing_repository:1.0
    //
    virtual CORBA_Repository_ptr containing_repository() = 0;

    //
    // IDL:omg.org/CORBA/Contained/describe:1.0
    //
    virtual Description* describe() = 0;

    //
    // IDL:omg.org/CORBA/Contained/move:1.0
    //
    virtual void move(CORBA_Container_ptr new_container,
                      const char* new_name,
                      const char* new_version) = 0;
};

//
// IDL:omg.org/CORBA/Container:1.0
//
class CORBA_Container_skel : virtual public CORBA_Container,
                             virtual public CORBA_IRObject_skel
{
    CORBA_Container_skel(const CORBA_Container_skel&);
    void operator=(const CORBA_Container_skel&);

public:

    CORBA_Container_skel() { }

    CORBA_Container_ptr _this() { return CORBA_Container::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/Container/lookup:1.0
    //
    virtual CORBA_Contained_ptr lookup(const char* search_name) = 0;

    //
    // IDL:omg.org/CORBA/Container/contents:1.0
    //
    virtual CORBA_ContainedSeq* contents(CORBA_DefinitionKind limit_type,
                                         CORBA_Boolean exclude_inherited) = 0;

    //
    // IDL:omg.org/CORBA/Container/lookup_name:1.0
    //
    virtual CORBA_ContainedSeq* lookup_name(const char* search_name,
                                            CORBA_Long levels_to_search,
                                            CORBA_DefinitionKind limit_type,
                                            CORBA_Boolean exclude_inherited) = 0;

    //
    // IDL:omg.org/CORBA/Container/describe_contents:1.0
    //
    virtual DescriptionSeq* describe_contents(CORBA_DefinitionKind limit_type,
                                              CORBA_Boolean exclude_inherited,
                                              CORBA_Long max_returned_objs) = 0;

    //
    // IDL:omg.org/CORBA/Container/create_module:1.0
    //
    virtual CORBA_ModuleDef_ptr create_module(const char* id,
                                              const char* name,
                                              const char* version) = 0;

    //
    // IDL:omg.org/CORBA/Container/create_constant:1.0
    //
    virtual CORBA_ConstantDef_ptr create_constant(const char* id,
                                                  const char* name,
                                                  const char* version,
                                                  CORBA_IDLType_ptr type,
                                                  const CORBA_Any& value) = 0;

    //
    // IDL:omg.org/CORBA/Container/create_struct:1.0
    //
    virtual CORBA_StructDef_ptr create_struct(const char* id,
                                              const char* name,
                                              const char* version,
                                              const CORBA_StructMemberSeq& members) = 0;

    //
    // IDL:omg.org/CORBA/Container/create_union:1.0
    //
    virtual CORBA_UnionDef_ptr create_union(const char* id,
                                            const char* name,
                                            const char* version,
                                            CORBA_IDLType_ptr discriminator_type,
                                            const CORBA_UnionMemberSeq& members) = 0;

    //
    // IDL:omg.org/CORBA/Container/create_enum:1.0
    //
    virtual CORBA_EnumDef_ptr create_enum(const char* id,
                                          const char* name,
                                          const char* version,
                                          const CORBA_EnumMemberSeq& members) = 0;

    //
    // IDL:omg.org/CORBA/Container/create_alias:1.0
    //
    virtual CORBA_AliasDef_ptr create_alias(const char* id,
                                            const char* name,
                                            const char* version,
                                            CORBA_IDLType_ptr original_type) = 0;

    //
    // IDL:omg.org/CORBA/Container/create_interface:1.0
    //
    virtual CORBA_InterfaceDef_ptr create_interface(const char* id,
                                                    const char* name,
                                                    const char* version,
                                                    const CORBA_InterfaceDefSeq& base_interfaces) = 0;

    //
    // IDL:omg.org/CORBA/Container/create_exception:1.0
    //
    virtual CORBA_ExceptionDef_ptr create_exception(const char* id,
                                                    const char* name,
                                                    const char* version,
                                                    const CORBA_StructMemberSeq& members) = 0;
};

//
// IDL:omg.org/CORBA/Repository:1.0
//
class CORBA_Repository_skel : virtual public CORBA_Repository,
                              virtual public CORBA_Container_skel
{
    CORBA_Repository_skel(const CORBA_Repository_skel&);
    void operator=(const CORBA_Repository_skel&);

public:

    CORBA_Repository_skel() { }

    CORBA_Repository_ptr _this() { return CORBA_Repository::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/Repository/lookup_id:1.0
    //
    virtual CORBA_Contained_ptr lookup_id(const char* search_id) = 0;

    //
    // IDL:omg.org/CORBA/Repository/get_primitive:1.0
    //
    virtual CORBA_PrimitiveDef_ptr get_primitive(CORBA_PrimitiveKind kind) = 0;

    //
    // IDL:omg.org/CORBA/Repository/create_string:1.0
    //
    virtual CORBA_StringDef_ptr create_string(CORBA_ULong bound) = 0;

    //
    // IDL:omg.org/CORBA/Repository/create_sequence:1.0
    //
    virtual CORBA_SequenceDef_ptr create_sequence(CORBA_ULong bound,
                                                  CORBA_IDLType_ptr element_type) = 0;

    //
    // IDL:omg.org/CORBA/Repository/create_array:1.0
    //
    virtual CORBA_ArrayDef_ptr create_array(CORBA_ULong length,
                                            CORBA_IDLType_ptr element_type) = 0;
};

//
// IDL:omg.org/CORBA/ModuleDef:1.0
//
class CORBA_ModuleDef_skel : virtual public CORBA_ModuleDef,
                             virtual public CORBA_Container_skel,
                             virtual public CORBA_Contained_skel
{
    CORBA_ModuleDef_skel(const CORBA_ModuleDef_skel&);
    void operator=(const CORBA_ModuleDef_skel&);

public:

    CORBA_ModuleDef_skel() { }

    CORBA_ModuleDef_ptr _this() { return CORBA_ModuleDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);
};

//
// IDL:omg.org/CORBA/ConstantDef:1.0
//
class CORBA_ConstantDef_skel : virtual public CORBA_ConstantDef,
                               virtual public CORBA_Contained_skel
{
    CORBA_ConstantDef_skel(const CORBA_ConstantDef_skel&);
    void operator=(const CORBA_ConstantDef_skel&);

public:

    CORBA_ConstantDef_skel() { }

    CORBA_ConstantDef_ptr _this() { return CORBA_ConstantDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/ConstantDef/type:1.0
    //
    virtual CORBA_TypeCode_ptr type() = 0;

    //
    // IDL:omg.org/CORBA/ConstantDef/type_def:1.0
    //
    virtual CORBA_IDLType_ptr type_def() = 0;
    virtual void type_def(CORBA_IDLType_ptr) = 0;

    //
    // IDL:omg.org/CORBA/ConstantDef/value:1.0
    //
    virtual CORBA_Any* value() = 0;
    virtual void value(const CORBA_Any&) = 0;
};

//
// IDL:omg.org/CORBA/TypedefDef:1.0
//
class CORBA_TypedefDef_skel : virtual public CORBA_TypedefDef,
                              virtual public CORBA_Contained_skel,
                              virtual public CORBA_IDLType_skel
{
    CORBA_TypedefDef_skel(const CORBA_TypedefDef_skel&);
    void operator=(const CORBA_TypedefDef_skel&);

public:

    CORBA_TypedefDef_skel() { }

    CORBA_TypedefDef_ptr _this() { return CORBA_TypedefDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);
};

//
// IDL:omg.org/CORBA/StructDef:1.0
//
class CORBA_StructDef_skel : virtual public CORBA_StructDef,
                             virtual public CORBA_TypedefDef_skel
{
    CORBA_StructDef_skel(const CORBA_StructDef_skel&);
    void operator=(const CORBA_StructDef_skel&);

public:

    CORBA_StructDef_skel() { }

    CORBA_StructDef_ptr _this() { return CORBA_StructDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/StructDef/members:1.0
    //
    virtual CORBA_StructMemberSeq* members() = 0;
    virtual void members(const CORBA_StructMemberSeq&) = 0;
};

//
// IDL:omg.org/CORBA/UnionDef:1.0
//
class CORBA_UnionDef_skel : virtual public CORBA_UnionDef,
                            virtual public CORBA_TypedefDef_skel
{
    CORBA_UnionDef_skel(const CORBA_UnionDef_skel&);
    void operator=(const CORBA_UnionDef_skel&);

public:

    CORBA_UnionDef_skel() { }

    CORBA_UnionDef_ptr _this() { return CORBA_UnionDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/UnionDef/discriminator_type:1.0
    //
    virtual CORBA_TypeCode_ptr discriminator_type() = 0;

    //
    // IDL:omg.org/CORBA/UnionDef/discriminator_type_def:1.0
    //
    virtual CORBA_IDLType_ptr discriminator_type_def() = 0;
    virtual void discriminator_type_def(CORBA_IDLType_ptr) = 0;

    //
    // IDL:omg.org/CORBA/UnionDef/members:1.0
    //
    virtual CORBA_UnionMemberSeq* members() = 0;
    virtual void members(const CORBA_UnionMemberSeq&) = 0;
};

//
// IDL:omg.org/CORBA/EnumDef:1.0
//
class CORBA_EnumDef_skel : virtual public CORBA_EnumDef,
                           virtual public CORBA_TypedefDef_skel
{
    CORBA_EnumDef_skel(const CORBA_EnumDef_skel&);
    void operator=(const CORBA_EnumDef_skel&);

public:

    CORBA_EnumDef_skel() { }

    CORBA_EnumDef_ptr _this() { return CORBA_EnumDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/EnumDef/members:1.0
    //
    virtual CORBA_EnumMemberSeq* members() = 0;
    virtual void members(const CORBA_EnumMemberSeq&) = 0;
};

//
// IDL:omg.org/CORBA/AliasDef:1.0
//
class CORBA_AliasDef_skel : virtual public CORBA_AliasDef,
                            virtual public CORBA_TypedefDef_skel
{
    CORBA_AliasDef_skel(const CORBA_AliasDef_skel&);
    void operator=(const CORBA_AliasDef_skel&);

public:

    CORBA_AliasDef_skel() { }

    CORBA_AliasDef_ptr _this() { return CORBA_AliasDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/AliasDef/original_type_def:1.0
    //
    virtual CORBA_IDLType_ptr original_type_def() = 0;
    virtual void original_type_def(CORBA_IDLType_ptr) = 0;
};

//
// IDL:omg.org/CORBA/PrimitiveDef:1.0
//
class CORBA_PrimitiveDef_skel : virtual public CORBA_PrimitiveDef,
                                virtual public CORBA_IDLType_skel
{
    CORBA_PrimitiveDef_skel(const CORBA_PrimitiveDef_skel&);
    void operator=(const CORBA_PrimitiveDef_skel&);

public:

    CORBA_PrimitiveDef_skel() { }

    CORBA_PrimitiveDef_ptr _this() { return CORBA_PrimitiveDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/PrimitiveDef/kind:1.0
    //
    virtual CORBA_PrimitiveKind kind() = 0;
};

//
// IDL:omg.org/CORBA/StringDef:1.0
//
class CORBA_StringDef_skel : virtual public CORBA_StringDef,
                             virtual public CORBA_IDLType_skel
{
    CORBA_StringDef_skel(const CORBA_StringDef_skel&);
    void operator=(const CORBA_StringDef_skel&);

public:

    CORBA_StringDef_skel() { }

    CORBA_StringDef_ptr _this() { return CORBA_StringDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/StringDef/bound:1.0
    //
    virtual CORBA_ULong bound() = 0;
    virtual void bound(CORBA_ULong) = 0;
};

//
// IDL:omg.org/CORBA/SequenceDef:1.0
//
class CORBA_SequenceDef_skel : virtual public CORBA_SequenceDef,
                               virtual public CORBA_IDLType_skel
{
    CORBA_SequenceDef_skel(const CORBA_SequenceDef_skel&);
    void operator=(const CORBA_SequenceDef_skel&);

public:

    CORBA_SequenceDef_skel() { }

    CORBA_SequenceDef_ptr _this() { return CORBA_SequenceDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/SequenceDef/bound:1.0
    //
    virtual CORBA_ULong bound() = 0;
    virtual void bound(CORBA_ULong) = 0;

    //
    // IDL:omg.org/CORBA/SequenceDef/element_type:1.0
    //
    virtual CORBA_TypeCode_ptr element_type() = 0;

    //
    // IDL:omg.org/CORBA/SequenceDef/element_type_def:1.0
    //
    virtual CORBA_IDLType_ptr element_type_def() = 0;
    virtual void element_type_def(CORBA_IDLType_ptr) = 0;
};

//
// IDL:omg.org/CORBA/ArrayDef:1.0
//
class CORBA_ArrayDef_skel : virtual public CORBA_ArrayDef,
                            virtual public CORBA_IDLType_skel
{
    CORBA_ArrayDef_skel(const CORBA_ArrayDef_skel&);
    void operator=(const CORBA_ArrayDef_skel&);

public:

    CORBA_ArrayDef_skel() { }

    CORBA_ArrayDef_ptr _this() { return CORBA_ArrayDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/ArrayDef/length:1.0
    //
    virtual CORBA_ULong length() = 0;
    virtual void length(CORBA_ULong) = 0;

    //
    // IDL:omg.org/CORBA/ArrayDef/element_type:1.0
    //
    virtual CORBA_TypeCode_ptr element_type() = 0;

    //
    // IDL:omg.org/CORBA/ArrayDef/element_type_def:1.0
    //
    virtual CORBA_IDLType_ptr element_type_def() = 0;
    virtual void element_type_def(CORBA_IDLType_ptr) = 0;
};

//
// IDL:omg.org/CORBA/ExceptionDef:1.0
//
class CORBA_ExceptionDef_skel : virtual public CORBA_ExceptionDef,
                                virtual public CORBA_Contained_skel
{
    CORBA_ExceptionDef_skel(const CORBA_ExceptionDef_skel&);
    void operator=(const CORBA_ExceptionDef_skel&);

public:

    CORBA_ExceptionDef_skel() { }

    CORBA_ExceptionDef_ptr _this() { return CORBA_ExceptionDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/ExceptionDef/type:1.0
    //
    virtual CORBA_TypeCode_ptr type() = 0;

    //
    // IDL:omg.org/CORBA/ExceptionDef/members:1.0
    //
    virtual CORBA_StructMemberSeq* members() = 0;
    virtual void members(const CORBA_StructMemberSeq&) = 0;
};

//
// IDL:omg.org/CORBA/AttributeDef:1.0
//
class CORBA_AttributeDef_skel : virtual public CORBA_AttributeDef,
                                virtual public CORBA_Contained_skel
{
    CORBA_AttributeDef_skel(const CORBA_AttributeDef_skel&);
    void operator=(const CORBA_AttributeDef_skel&);

public:

    CORBA_AttributeDef_skel() { }

    CORBA_AttributeDef_ptr _this() { return CORBA_AttributeDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/AttributeDef/type:1.0
    //
    virtual CORBA_TypeCode_ptr type() = 0;

    //
    // IDL:omg.org/CORBA/AttributeDef/type_def:1.0
    //
    virtual CORBA_IDLType_ptr type_def() = 0;
    virtual void type_def(CORBA_IDLType_ptr) = 0;

    //
    // IDL:omg.org/CORBA/AttributeDef/mode:1.0
    //
    virtual CORBA_AttributeMode mode() = 0;
    virtual void mode(CORBA_AttributeMode) = 0;
};

//
// IDL:omg.org/CORBA/OperationDef:1.0
//
class CORBA_OperationDef_skel : virtual public CORBA_OperationDef,
                                virtual public CORBA_Contained_skel
{
    CORBA_OperationDef_skel(const CORBA_OperationDef_skel&);
    void operator=(const CORBA_OperationDef_skel&);

public:

    CORBA_OperationDef_skel() { }

    CORBA_OperationDef_ptr _this() { return CORBA_OperationDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/OperationDef/result:1.0
    //
    virtual CORBA_TypeCode_ptr result() = 0;

    //
    // IDL:omg.org/CORBA/OperationDef/result_def:1.0
    //
    virtual CORBA_IDLType_ptr result_def() = 0;
    virtual void result_def(CORBA_IDLType_ptr) = 0;

    //
    // IDL:omg.org/CORBA/OperationDef/params:1.0
    //
    virtual CORBA_ParDescriptionSeq* params() = 0;
    virtual void params(const CORBA_ParDescriptionSeq&) = 0;

    //
    // IDL:omg.org/CORBA/OperationDef/mode:1.0
    //
    virtual CORBA_OperationMode mode() = 0;
    virtual void mode(CORBA_OperationMode) = 0;

    //
    // IDL:omg.org/CORBA/OperationDef/contexts:1.0
    //
    virtual CORBA_ContextIdSeq* contexts() = 0;
    virtual void contexts(const CORBA_ContextIdSeq&) = 0;

    //
    // IDL:omg.org/CORBA/OperationDef/exceptions:1.0
    //
    virtual CORBA_ExceptionDefSeq* exceptions() = 0;
    virtual void exceptions(const CORBA_ExceptionDefSeq&) = 0;
};

//
// IDL:omg.org/CORBA/InterfaceDef:1.0
//
class CORBA_InterfaceDef_skel : virtual public CORBA_InterfaceDef,
                                virtual public CORBA_Container_skel,
                                virtual public CORBA_Contained_skel,
                                virtual public CORBA_IDLType_skel
{
    CORBA_InterfaceDef_skel(const CORBA_InterfaceDef_skel&);
    void operator=(const CORBA_InterfaceDef_skel&);

public:

    CORBA_InterfaceDef_skel() { }

    CORBA_InterfaceDef_ptr _this() { return CORBA_InterfaceDef::_duplicate(this); }

    virtual OBDispatchStatus _OB_dispatch(const char*, OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:omg.org/CORBA/InterfaceDef/base_interfaces:1.0
    //
    virtual CORBA_InterfaceDefSeq* base_interfaces() = 0;
    virtual void base_interfaces(const CORBA_InterfaceDefSeq&) = 0;

    //
    // IDL:omg.org/CORBA/InterfaceDef/is_a:1.0
    //
    virtual CORBA_Boolean is_a(const char* interface_id) = 0;

    //
    // IDL:omg.org/CORBA/InterfaceDef/describe_interface:1.0
    //
    virtual FullInterfaceDescription* describe_interface() = 0;

    //
    // IDL:omg.org/CORBA/InterfaceDef/create_attribute:1.0
    //
    virtual CORBA_AttributeDef_ptr create_attribute(const char* id,
                                                    const char* name,
                                                    const char* version,
                                                    CORBA_IDLType_ptr type,
                                                    CORBA_AttributeMode mode) = 0;

    //
    // IDL:omg.org/CORBA/InterfaceDef/create_operation:1.0
    //
    virtual CORBA_OperationDef_ptr create_operation(const char* id,
                                                    const char* name,
                                                    const char* version,
                                                    CORBA_IDLType_ptr result,
                                                    CORBA_OperationMode mode,
                                                    const CORBA_ParDescriptionSeq& params,
                                                    const CORBA_ExceptionDefSeq& exceptions,
                                                    const CORBA_ContextIdSeq& contexts) = 0;
};

#endif
