// **********************************************************************
//
// Generated by the ORBacus IDL-to-C++ Translator
//
// Copyright (c) 2003
// IONA Technologies, Inc.
// Waltham, MA, USA
//
// All Rights Reserved
//
// **********************************************************************

// Version: 4.1.3

#ifndef __OB_CosProperty_h__
#define __OB_CosProperty_h__

#ifndef OB_PROPERTY_IMPORT
#   ifdef OB_DLL
#      define OB_PROPERTY_IMPORT __declspec(dllimport)
#   else
#      define OB_PROPERTY_IMPORT /**/
#   endif
#endif


#ifndef OB_INTEGER_VERSION
#   error No ORBacus version defined! Is <OB/CORBA.h> included?
#endif

#ifndef OB_NO_VERSION_CHECK
#   if (OB_INTEGER_VERSION != 4010300L)
#       error ORBacus version mismatch!
#   endif
#endif

namespace CosPropertyService
{

class PropertySetFactory;
typedef PropertySetFactory* PropertySetFactory_ptr;
typedef PropertySetFactory* PropertySetFactoryRef;

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertySetFactory;

class PropertySetDefFactory;
typedef PropertySetDefFactory* PropertySetDefFactory_ptr;
typedef PropertySetDefFactory* PropertySetDefFactoryRef;

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertySetDefFactory;

class PropertySet;
typedef PropertySet* PropertySet_ptr;
typedef PropertySet* PropertySetRef;

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertySet;

class PropertySetDef;
typedef PropertySetDef* PropertySetDef_ptr;
typedef PropertySetDef* PropertySetDefRef;

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertySetDef;

class PropertyNamesIterator;
typedef PropertyNamesIterator* PropertyNamesIterator_ptr;
typedef PropertyNamesIterator* PropertyNamesIteratorRef;

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyNamesIterator;

class PropertiesIterator;
typedef PropertiesIterator* PropertiesIterator_ptr;
typedef PropertiesIterator* PropertiesIteratorRef;

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertiesIterator;

} // End of namespace CosPropertyService

void OBDuplicate(CosPropertyService::PropertySetFactory_ptr);
void OBRelease(CosPropertyService::PropertySetFactory_ptr);

void OBMarshal(CosPropertyService::PropertySetFactory_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosPropertyService::PropertySetFactory_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosPropertyService::PropertySetDefFactory_ptr);
void OBRelease(CosPropertyService::PropertySetDefFactory_ptr);

void OBMarshal(CosPropertyService::PropertySetDefFactory_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosPropertyService::PropertySetDefFactory_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosPropertyService::PropertySet_ptr);
void OBRelease(CosPropertyService::PropertySet_ptr);

void OBMarshal(CosPropertyService::PropertySet_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosPropertyService::PropertySet_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosPropertyService::PropertySetDef_ptr);
void OBRelease(CosPropertyService::PropertySetDef_ptr);

void OBMarshal(CosPropertyService::PropertySetDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosPropertyService::PropertySetDef_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosPropertyService::PropertyNamesIterator_ptr);
void OBRelease(CosPropertyService::PropertyNamesIterator_ptr);

void OBMarshal(CosPropertyService::PropertyNamesIterator_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosPropertyService::PropertyNamesIterator_ptr&, OB::InputStreamImpl*);

void OBDuplicate(CosPropertyService::PropertiesIterator_ptr);
void OBRelease(CosPropertyService::PropertiesIterator_ptr);

void OBMarshal(CosPropertyService::PropertiesIterator_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CosPropertyService::PropertiesIterator_ptr&, OB::InputStreamImpl*);

namespace CosPropertyService
{

typedef OB::ObjVar< PropertySetFactory > PropertySetFactory_var;
typedef OB::ObjOut< PropertySetFactory > PropertySetFactory_out;

typedef OB::ObjVar< PropertySetDefFactory > PropertySetDefFactory_var;
typedef OB::ObjOut< PropertySetDefFactory > PropertySetDefFactory_out;

typedef OB::ObjVar< PropertySet > PropertySet_var;
typedef OB::ObjOut< PropertySet > PropertySet_out;

typedef OB::ObjVar< PropertySetDef > PropertySetDef_var;
typedef OB::ObjOut< PropertySetDef > PropertySetDef_out;

typedef OB::ObjVar< PropertyNamesIterator > PropertyNamesIterator_var;
typedef OB::ObjOut< PropertyNamesIterator > PropertyNamesIterator_out;

typedef OB::ObjVar< PropertiesIterator > PropertiesIterator_var;
typedef OB::ObjOut< PropertiesIterator > PropertiesIterator_out;

} // End of namespace CosPropertyService

namespace OBStubImpl_CosPropertyService
{

class PropertySetFactory;
typedef PropertySetFactory* PropertySetFactory_ptr;

class PropertySetDefFactory;
typedef PropertySetDefFactory* PropertySetDefFactory_ptr;

class PropertySet;
typedef PropertySet* PropertySet_ptr;

class PropertySetDef;
typedef PropertySetDef* PropertySetDef_ptr;

class PropertyNamesIterator;
typedef PropertyNamesIterator* PropertyNamesIterator_ptr;

class PropertiesIterator;
typedef PropertiesIterator* PropertiesIterator_ptr;

} // End of namespace OBStubImpl_CosPropertyService

void OBDuplicate(OBStubImpl_CosPropertyService::PropertySetFactory_ptr);
void OBRelease(OBStubImpl_CosPropertyService::PropertySetFactory_ptr);

void OBDuplicate(OBStubImpl_CosPropertyService::PropertySetDefFactory_ptr);
void OBRelease(OBStubImpl_CosPropertyService::PropertySetDefFactory_ptr);

void OBDuplicate(OBStubImpl_CosPropertyService::PropertySet_ptr);
void OBRelease(OBStubImpl_CosPropertyService::PropertySet_ptr);

void OBDuplicate(OBStubImpl_CosPropertyService::PropertySetDef_ptr);
void OBRelease(OBStubImpl_CosPropertyService::PropertySetDef_ptr);

void OBDuplicate(OBStubImpl_CosPropertyService::PropertyNamesIterator_ptr);
void OBRelease(OBStubImpl_CosPropertyService::PropertyNamesIterator_ptr);

void OBDuplicate(OBStubImpl_CosPropertyService::PropertiesIterator_ptr);
void OBRelease(OBStubImpl_CosPropertyService::PropertiesIterator_ptr);

namespace OBStubImpl_CosPropertyService
{

typedef OB::ObjVar< PropertySetFactory > PropertySetFactory_var;

typedef OB::ObjVar< PropertySetDefFactory > PropertySetDefFactory_var;

typedef OB::ObjVar< PropertySet > PropertySet_var;

typedef OB::ObjVar< PropertySetDef > PropertySetDef_var;

typedef OB::ObjVar< PropertyNamesIterator > PropertyNamesIterator_var;

typedef OB::ObjVar< PropertiesIterator > PropertiesIterator_var;

} // End of namespace OBStubImpl_CosPropertyService

//
// IDL:omg.org/CosPropertyService:1.0
//
namespace CosPropertyService
{

//
// IDL:omg.org/CosPropertyService/PropertyName:1.0
//
typedef char* PropertyName;
typedef ::CORBA::String_var PropertyName_var;
typedef ::CORBA::String_out PropertyName_out;
OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyName;

//
// IDL:omg.org/CosPropertyService/Property:1.0
//
struct Property;
typedef OB::VarVar< Property > Property_var;
typedef OB::VarOut< Property > Property_out;

struct Property
{
    Property() { }
    Property(const Property&);
    Property& operator=(const Property&);

    typedef Property_var _var_type;

    OB::StrForStruct property_name;
    ::CORBA::Any property_value;

    void _OB_marshal(OB::OutputStreamImpl*) const;
    static void _OB_unmarshal(Property&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_Property;

//
// IDL:omg.org/CosPropertyService/PropertyModeType:1.0
//
enum PropertyModeType
{
    normal,
    read_only,
    fixed_normal,
    fixed_readonly,
    undefined
};

typedef PropertyModeType& PropertyModeType_out;

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyModeType;

//
// IDL:omg.org/CosPropertyService/PropertyDef:1.0
//
struct PropertyDef;
typedef OB::VarVar< PropertyDef > PropertyDef_var;
typedef OB::VarOut< PropertyDef > PropertyDef_out;

struct PropertyDef
{
#ifdef OB_CLEAR_MEM
    PropertyDef();
#else
    PropertyDef() { }
#endif
    PropertyDef(const PropertyDef&);
    PropertyDef& operator=(const PropertyDef&);

    typedef PropertyDef_var _var_type;

    OB::StrForStruct property_name;
    ::CORBA::Any property_value;
    PropertyModeType property_mode;

    void _OB_marshal(OB::OutputStreamImpl*) const;
    static void _OB_unmarshal(PropertyDef&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyDef;

//
// IDL:omg.org/CosPropertyService/PropertyMode:1.0
//
struct PropertyMode;
typedef OB::VarVar< PropertyMode > PropertyMode_var;
typedef OB::VarOut< PropertyMode > PropertyMode_out;

struct PropertyMode
{
#ifdef OB_CLEAR_MEM
    PropertyMode();
#else
    PropertyMode() { }
#endif
    PropertyMode(const PropertyMode&);
    PropertyMode& operator=(const PropertyMode&);

    typedef PropertyMode_var _var_type;

    OB::StrForStruct property_name;
    PropertyModeType property_mode;

    void _OB_marshal(OB::OutputStreamImpl*) const;
    static void _OB_unmarshal(PropertyMode&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyMode;

//
// IDL:omg.org/CosPropertyService/PropertyNames:1.0
//
class OBUnique_PropertyNames { };

typedef OB::StrSeq< OBUnique_PropertyNames > PropertyNames;
typedef OB::SeqVar< OB::StrSeq< OBUnique_PropertyNames > > PropertyNames_var;
typedef OB::SeqOut< OB::StrSeq< OBUnique_PropertyNames > > PropertyNames_out;
OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyNames;

struct OBInfo_PropertyNames : public OB::ConstructedInfo
{
    OBInfo_PropertyNames() { }

    virtual void free(void* p) const
    {
        delete (PropertyNames*)p;
    }

    virtual void* dup(const void* p) const
    {
        return new PropertyNames(*(const PropertyNames*)p);
    }

    virtual void marshal(const void*, OB::OutputStreamImpl*) const;
    virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};

//
// IDL:omg.org/CosPropertyService/Properties:1.0
//
class OBUnique_Properties { };

typedef OB::VarSeq< Property, OBUnique_Properties > Properties;
typedef OB::SeqVar< OB::VarSeq< Property, OBUnique_Properties > > Properties_var;
typedef OB::SeqOut< OB::VarSeq< Property, OBUnique_Properties > > Properties_out;
OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_Properties;

struct OBInfo_Properties : public OB::ConstructedInfo
{
    OBInfo_Properties() { }

    virtual void free(void* p) const
    {
        delete (Properties*)p;
    }

    virtual void* dup(const void* p) const
    {
        return new Properties(*(const Properties*)p);
    }

    virtual void marshal(const void*, OB::OutputStreamImpl*) const;
    virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};

//
// IDL:omg.org/CosPropertyService/PropertyDefs:1.0
//
class OBUnique_PropertyDefs { };

typedef OB::VarSeq< PropertyDef, OBUnique_PropertyDefs > PropertyDefs;
typedef OB::SeqVar< OB::VarSeq< PropertyDef, OBUnique_PropertyDefs > > PropertyDefs_var;
typedef OB::SeqOut< OB::VarSeq< PropertyDef, OBUnique_PropertyDefs > > PropertyDefs_out;
OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyDefs;

struct OBInfo_PropertyDefs : public OB::ConstructedInfo
{
    OBInfo_PropertyDefs() { }

    virtual void free(void* p) const
    {
        delete (PropertyDefs*)p;
    }

    virtual void* dup(const void* p) const
    {
        return new PropertyDefs(*(const PropertyDefs*)p);
    }

    virtual void marshal(const void*, OB::OutputStreamImpl*) const;
    virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};

//
// IDL:omg.org/CosPropertyService/PropertyModes:1.0
//
class OBUnique_PropertyModes { };

typedef OB::VarSeq< PropertyMode, OBUnique_PropertyModes > PropertyModes;
typedef OB::SeqVar< OB::VarSeq< PropertyMode, OBUnique_PropertyModes > > PropertyModes_var;
typedef OB::SeqOut< OB::VarSeq< PropertyMode, OBUnique_PropertyModes > > PropertyModes_out;
OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyModes;

struct OBInfo_PropertyModes : public OB::ConstructedInfo
{
    OBInfo_PropertyModes() { }

    virtual void free(void* p) const
    {
        delete (PropertyModes*)p;
    }

    virtual void* dup(const void* p) const
    {
        return new PropertyModes(*(const PropertyModes*)p);
    }

    virtual void marshal(const void*, OB::OutputStreamImpl*) const;
    virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};

//
// IDL:omg.org/CosPropertyService/PropertyTypes:1.0
//
class OBUnique_PropertyTypes { };

typedef OB::ObjSeq< ::CORBA::TypeCode, OBUnique_PropertyTypes > PropertyTypes;
typedef OB::SeqVar< OB::ObjSeq< ::CORBA::TypeCode, OBUnique_PropertyTypes > > PropertyTypes_var;
typedef OB::SeqOut< OB::ObjSeq< ::CORBA::TypeCode, OBUnique_PropertyTypes > > PropertyTypes_out;
OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyTypes;

struct OBInfo_PropertyTypes : public OB::ConstructedInfo
{
    OBInfo_PropertyTypes() { }

    virtual void free(void* p) const
    {
        delete (PropertyTypes*)p;
    }

    virtual void* dup(const void* p) const
    {
        return new PropertyTypes(*(const PropertyTypes*)p);
    }

    virtual void marshal(const void*, OB::OutputStreamImpl*) const;
    virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};

//
// IDL:omg.org/CosPropertyService/ConstraintNotSupported:1.0
//
struct ConstraintNotSupported : public ::CORBA::UserException
{
    ConstraintNotSupported() { }
    ConstraintNotSupported(const ConstraintNotSupported&);
    ConstraintNotSupported& operator=(const ConstraintNotSupported&);

    static ConstraintNotSupported* _downcast(::CORBA::Exception*);
    static const ConstraintNotSupported* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(ConstraintNotSupported&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_ConstraintNotSupported;

//
// IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0
//
struct InvalidPropertyName : public ::CORBA::UserException
{
    InvalidPropertyName() { }
    InvalidPropertyName(const InvalidPropertyName&);
    InvalidPropertyName& operator=(const InvalidPropertyName&);

    static InvalidPropertyName* _downcast(::CORBA::Exception*);
    static const InvalidPropertyName* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(InvalidPropertyName&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_InvalidPropertyName;

//
// IDL:omg.org/CosPropertyService/ConflictingProperty:1.0
//
struct ConflictingProperty : public ::CORBA::UserException
{
    ConflictingProperty() { }
    ConflictingProperty(const ConflictingProperty&);
    ConflictingProperty& operator=(const ConflictingProperty&);

    static ConflictingProperty* _downcast(::CORBA::Exception*);
    static const ConflictingProperty* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(ConflictingProperty&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_ConflictingProperty;

//
// IDL:omg.org/CosPropertyService/PropertyNotFound:1.0
//
struct PropertyNotFound : public ::CORBA::UserException
{
    PropertyNotFound() { }
    PropertyNotFound(const PropertyNotFound&);
    PropertyNotFound& operator=(const PropertyNotFound&);

    static PropertyNotFound* _downcast(::CORBA::Exception*);
    static const PropertyNotFound* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(PropertyNotFound&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyNotFound;

//
// IDL:omg.org/CosPropertyService/UnsupportedTypeCode:1.0
//
struct UnsupportedTypeCode : public ::CORBA::UserException
{
    UnsupportedTypeCode() { }
    UnsupportedTypeCode(const UnsupportedTypeCode&);
    UnsupportedTypeCode& operator=(const UnsupportedTypeCode&);

    static UnsupportedTypeCode* _downcast(::CORBA::Exception*);
    static const UnsupportedTypeCode* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(UnsupportedTypeCode&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_UnsupportedTypeCode;

//
// IDL:omg.org/CosPropertyService/UnsupportedProperty:1.0
//
struct UnsupportedProperty : public ::CORBA::UserException
{
    UnsupportedProperty() { }
    UnsupportedProperty(const UnsupportedProperty&);
    UnsupportedProperty& operator=(const UnsupportedProperty&);

    static UnsupportedProperty* _downcast(::CORBA::Exception*);
    static const UnsupportedProperty* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(UnsupportedProperty&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_UnsupportedProperty;

//
// IDL:omg.org/CosPropertyService/UnsupportedMode:1.0
//
struct UnsupportedMode : public ::CORBA::UserException
{
    UnsupportedMode() { }
    UnsupportedMode(const UnsupportedMode&);
    UnsupportedMode& operator=(const UnsupportedMode&);

    static UnsupportedMode* _downcast(::CORBA::Exception*);
    static const UnsupportedMode* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(UnsupportedMode&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_UnsupportedMode;

//
// IDL:omg.org/CosPropertyService/FixedProperty:1.0
//
struct FixedProperty : public ::CORBA::UserException
{
    FixedProperty() { }
    FixedProperty(const FixedProperty&);
    FixedProperty& operator=(const FixedProperty&);

    static FixedProperty* _downcast(::CORBA::Exception*);
    static const FixedProperty* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(FixedProperty&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_FixedProperty;

//
// IDL:omg.org/CosPropertyService/ReadOnlyProperty:1.0
//
struct ReadOnlyProperty : public ::CORBA::UserException
{
    ReadOnlyProperty() { }
    ReadOnlyProperty(const ReadOnlyProperty&);
    ReadOnlyProperty& operator=(const ReadOnlyProperty&);

    static ReadOnlyProperty* _downcast(::CORBA::Exception*);
    static const ReadOnlyProperty* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    static void _OB_unmarshal(ReadOnlyProperty&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_ReadOnlyProperty;

//
// IDL:omg.org/CosPropertyService/ExceptionReason:1.0
//
enum ExceptionReason
{
    invalid_property_name,
    conflicting_property,
    property_not_found,
    unsupported_type_code,
    unsupported_property,
    unsupported_mode,
    fixed_property,
    read_only_property
};

typedef ExceptionReason& ExceptionReason_out;

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_ExceptionReason;

//
// IDL:omg.org/CosPropertyService/PropertyException:1.0
//
struct PropertyException;
typedef OB::VarVar< PropertyException > PropertyException_var;
typedef OB::VarOut< PropertyException > PropertyException_out;

struct PropertyException
{
#ifdef OB_CLEAR_MEM
    PropertyException();
#else
    PropertyException() { }
#endif
    PropertyException(const PropertyException&);
    PropertyException& operator=(const PropertyException&);

    typedef PropertyException_var _var_type;

    ExceptionReason reason;
    OB::StrForStruct failing_property_name;

    void _OB_marshal(OB::OutputStreamImpl*) const;
    static void _OB_unmarshal(PropertyException&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyException;

//
// IDL:omg.org/CosPropertyService/PropertyExceptions:1.0
//
class OBUnique_PropertyExceptions { };

typedef OB::VarSeq< PropertyException, OBUnique_PropertyExceptions > PropertyExceptions;
typedef OB::SeqVar< OB::VarSeq< PropertyException, OBUnique_PropertyExceptions > > PropertyExceptions_var;
typedef OB::SeqOut< OB::VarSeq< PropertyException, OBUnique_PropertyExceptions > > PropertyExceptions_out;
OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_PropertyExceptions;

struct OBInfo_PropertyExceptions : public OB::ConstructedInfo
{
    OBInfo_PropertyExceptions() { }

    virtual void free(void* p) const
    {
        delete (PropertyExceptions*)p;
    }

    virtual void* dup(const void* p) const
    {
        return new PropertyExceptions(*(const PropertyExceptions*)p);
    }

    virtual void marshal(const void*, OB::OutputStreamImpl*) const;
    virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};

//
// IDL:omg.org/CosPropertyService/MultipleExceptions:1.0
//
struct MultipleExceptions : public ::CORBA::UserException
{
    MultipleExceptions() { }
    MultipleExceptions(const MultipleExceptions&);
    MultipleExceptions& operator=(const MultipleExceptions&);

    static MultipleExceptions* _downcast(::CORBA::Exception*);
    static const MultipleExceptions* _downcast(const ::CORBA::Exception*);
    virtual const char* _name() const;
    virtual void _raise() const { throw *this; }
    virtual const char* _rep_id() const;
    virtual char* _to_string() const;

    virtual ::CORBA::Exception* _OB_clone() const;
    virtual void _OB_insertInAny(::CORBA::Any&);

    PropertyExceptions exceptions;

    MultipleExceptions(const PropertyExceptions&);

    virtual void _OB_marshal(OB::OutputStreamImpl*) const;
    static void _OB_unmarshal(MultipleExceptions&, OB::InputStreamImpl*);
};

OB_PROPERTY_IMPORT extern OB::TypeCodeConst _tc_MultipleExceptions;

//
// IDL:omg.org/CosPropertyService/PropertySetFactory:1.0
//
class PropertySetFactory : virtual public ::CORBA::Object
{
    PropertySetFactory(const PropertySetFactory&);
    void operator=(const PropertySetFactory&);

protected:

    static OB_PROPERTY_IMPORT const char* ids_[];

public:

    PropertySetFactory() { }
    virtual ~PropertySetFactory() { }

    typedef PropertySetFactory_ptr _ptr_type;
    typedef PropertySetFactory_var _var_type;

    static inline PropertySetFactory_ptr
    _duplicate(PropertySetFactory_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline PropertySetFactory_ptr
    _nil()
    {
        return 0;
    }

    static PropertySetFactory_ptr _narrow(::CORBA::Object_ptr);
    static PropertySetFactory_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static PropertySetFactory_ptr _narrow(::CORBA::AbstractBase_ptr);
    static PropertySetFactory_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_propertyset:1.0
    //
    virtual PropertySet_ptr create_propertyset() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_constrained_propertyset:1.0
    //
    virtual PropertySet_ptr create_constrained_propertyset(const PropertyTypes& allowed_property_types,
                                                           const Properties& allowed_properties) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_initial_propertyset:1.0
    //
    virtual PropertySet_ptr create_initial_propertyset(const Properties& initial_properties) = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertySetDefFactory:1.0
//
class PropertySetDefFactory : virtual public ::CORBA::Object
{
    PropertySetDefFactory(const PropertySetDefFactory&);
    void operator=(const PropertySetDefFactory&);

protected:

    static OB_PROPERTY_IMPORT const char* ids_[];

public:

    PropertySetDefFactory() { }
    virtual ~PropertySetDefFactory() { }

    typedef PropertySetDefFactory_ptr _ptr_type;
    typedef PropertySetDefFactory_var _var_type;

    static inline PropertySetDefFactory_ptr
    _duplicate(PropertySetDefFactory_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline PropertySetDefFactory_ptr
    _nil()
    {
        return 0;
    }

    static PropertySetDefFactory_ptr _narrow(::CORBA::Object_ptr);
    static PropertySetDefFactory_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static PropertySetDefFactory_ptr _narrow(::CORBA::AbstractBase_ptr);
    static PropertySetDefFactory_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_propertysetdef:1.0
    //
    virtual PropertySetDef_ptr create_propertysetdef() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_constrained_propertysetdef:1.0
    //
    virtual PropertySetDef_ptr create_constrained_propertysetdef(const PropertyTypes& allowed_property_types,
                                                                 const PropertyDefs& allowed_property_defs) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_initial_propertysetdef:1.0
    //
    virtual PropertySetDef_ptr create_initial_propertysetdef(const PropertyDefs& initial_property_defs) = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertySet:1.0
//
class PropertySet : virtual public ::CORBA::Object
{
    PropertySet(const PropertySet&);
    void operator=(const PropertySet&);

protected:

    static OB_PROPERTY_IMPORT const char* ids_[];

public:

    PropertySet() { }
    virtual ~PropertySet() { }

    typedef PropertySet_ptr _ptr_type;
    typedef PropertySet_var _var_type;

    static inline PropertySet_ptr
    _duplicate(PropertySet_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline PropertySet_ptr
    _nil()
    {
        return 0;
    }

    static PropertySet_ptr _narrow(::CORBA::Object_ptr);
    static PropertySet_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static PropertySet_ptr _narrow(::CORBA::AbstractBase_ptr);
    static PropertySet_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // IDL:omg.org/CosPropertyService/PropertySet/define_property:1.0
    //
    virtual void define_property(const char* property_name,
                                 const ::CORBA::Any& property_value) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/define_properties:1.0
    //
    virtual void define_properties(const Properties& nproperties) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_number_of_properties:1.0
    //
    virtual ::CORBA::ULong get_number_of_properties() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_all_property_names:1.0
    //
    virtual void get_all_property_names(::CORBA::ULong how_many,
                                        PropertyNames_out property_names,
                                        PropertyNamesIterator_out rest) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_property_value:1.0
    //
    virtual ::CORBA::Any* get_property_value(const char* property_name) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_properties:1.0
    //
    virtual ::CORBA::Boolean get_properties(const PropertyNames& property_names,
                                            Properties_out nproperties) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_all_properties:1.0
    //
    virtual void get_all_properties(::CORBA::ULong how_many,
                                    Properties_out nproperties,
                                    PropertiesIterator_out rest) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_property:1.0
    //
    virtual void delete_property(const char* property_name) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_properties:1.0
    //
    virtual void delete_properties(const PropertyNames& property_names) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_all_properties:1.0
    //
    virtual ::CORBA::Boolean delete_all_properties() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/is_property_defined:1.0
    //
    virtual ::CORBA::Boolean is_property_defined(const char* property_name) = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertySetDef:1.0
//
class PropertySetDef : virtual public ::CosPropertyService::PropertySet
{
    PropertySetDef(const PropertySetDef&);
    void operator=(const PropertySetDef&);

protected:

    static OB_PROPERTY_IMPORT const char* ids_[];

public:

    PropertySetDef() { }
    virtual ~PropertySetDef() { }

    typedef PropertySetDef_ptr _ptr_type;
    typedef PropertySetDef_var _var_type;

    static inline PropertySetDef_ptr
    _duplicate(PropertySetDef_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline PropertySetDef_ptr
    _nil()
    {
        return 0;
    }

    static PropertySetDef_ptr _narrow(::CORBA::Object_ptr);
    static PropertySetDef_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static PropertySetDef_ptr _narrow(::CORBA::AbstractBase_ptr);
    static PropertySetDef_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_property_types:1.0
    //
    virtual void get_allowed_property_types(PropertyTypes_out property_types) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_properties:1.0
    //
    virtual void get_allowed_properties(PropertyDefs_out property_defs) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/define_property_with_mode:1.0
    //
    virtual void define_property_with_mode(const char* property_name,
                                           const ::CORBA::Any& property_value,
                                           PropertyModeType property_mode) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/define_properties_with_modes:1.0
    //
    virtual void define_properties_with_modes(const PropertyDefs& property_defs) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_property_mode:1.0
    //
    virtual PropertyModeType get_property_mode(const char* property_name) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_property_modes:1.0
    //
    virtual ::CORBA::Boolean get_property_modes(const PropertyNames& property_names,
                                                PropertyModes_out property_modes) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/set_property_mode:1.0
    //
    virtual void set_property_mode(const char* property_name,
                                   PropertyModeType property_mode) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/set_property_modes:1.0
    //
    virtual void set_property_modes(const PropertyModes& property_modes) = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0
//
class PropertyNamesIterator : virtual public ::CORBA::Object
{
    PropertyNamesIterator(const PropertyNamesIterator&);
    void operator=(const PropertyNamesIterator&);

protected:

    static OB_PROPERTY_IMPORT const char* ids_[];

public:

    PropertyNamesIterator() { }
    virtual ~PropertyNamesIterator() { }

    typedef PropertyNamesIterator_ptr _ptr_type;
    typedef PropertyNamesIterator_var _var_type;

    static inline PropertyNamesIterator_ptr
    _duplicate(PropertyNamesIterator_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline PropertyNamesIterator_ptr
    _nil()
    {
        return 0;
    }

    static PropertyNamesIterator_ptr _narrow(::CORBA::Object_ptr);
    static PropertyNamesIterator_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static PropertyNamesIterator_ptr _narrow(::CORBA::AbstractBase_ptr);
    static PropertyNamesIterator_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/reset:1.0
    //
    virtual void reset() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_one:1.0
    //
    virtual ::CORBA::Boolean next_one(PropertyName_out property_name) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_n:1.0
    //
    virtual ::CORBA::Boolean next_n(::CORBA::ULong how_many,
                                    PropertyNames_out property_names) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/destroy:1.0
    //
    virtual void destroy() = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertiesIterator:1.0
//
class PropertiesIterator : virtual public ::CORBA::Object
{
    PropertiesIterator(const PropertiesIterator&);
    void operator=(const PropertiesIterator&);

protected:

    static OB_PROPERTY_IMPORT const char* ids_[];

public:

    PropertiesIterator() { }
    virtual ~PropertiesIterator() { }

    typedef PropertiesIterator_ptr _ptr_type;
    typedef PropertiesIterator_var _var_type;

    static inline PropertiesIterator_ptr
    _duplicate(PropertiesIterator_ptr p)
    {
        if(p)
            p -> _add_ref();
        return p;
    }

    static inline PropertiesIterator_ptr
    _nil()
    {
        return 0;
    }

    static PropertiesIterator_ptr _narrow(::CORBA::Object_ptr);
    static PropertiesIterator_ptr _unchecked_narrow(::CORBA::Object_ptr);

    static PropertiesIterator_ptr _narrow(::CORBA::AbstractBase_ptr);
    static PropertiesIterator_ptr _unchecked_narrow(::CORBA::AbstractBase_ptr);

    static const char** _OB_staticIds();

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/reset:1.0
    //
    virtual void reset() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/next_one:1.0
    //
    virtual ::CORBA::Boolean next_one(Property_out aproperty) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/next_n:1.0
    //
    virtual ::CORBA::Boolean next_n(::CORBA::ULong how_many,
                                    Properties_out nproperties) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/destroy:1.0
    //
    virtual void destroy() = 0;
};

} // End of namespace CosPropertyService

//
// IDL:omg.org/CosPropertyService:1.0
//
namespace OBProxy_CosPropertyService
{

//
// IDL:omg.org/CosPropertyService/PropertySetFactory:1.0
//
class PropertySetFactory : virtual public ::CosPropertyService::PropertySetFactory,
                           virtual public OBCORBA::Object
{
    PropertySetFactory(const PropertySetFactory&);
    void operator=(const PropertySetFactory&);

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    PropertySetFactory() { }
    virtual ~PropertySetFactory() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_propertyset:1.0
    //
    ::CosPropertyService::PropertySet_ptr create_propertyset();

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_constrained_propertyset:1.0
    //
    ::CosPropertyService::PropertySet_ptr create_constrained_propertyset(const ::CosPropertyService::PropertyTypes& allowed_property_types,
                                                                         const ::CosPropertyService::Properties& allowed_properties);

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_initial_propertyset:1.0
    //
    ::CosPropertyService::PropertySet_ptr create_initial_propertyset(const ::CosPropertyService::Properties& initial_properties);
};

//
// IDL:omg.org/CosPropertyService/PropertySetDefFactory:1.0
//
class PropertySetDefFactory : virtual public ::CosPropertyService::PropertySetDefFactory,
                              virtual public OBCORBA::Object
{
    PropertySetDefFactory(const PropertySetDefFactory&);
    void operator=(const PropertySetDefFactory&);

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    PropertySetDefFactory() { }
    virtual ~PropertySetDefFactory() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_propertysetdef:1.0
    //
    ::CosPropertyService::PropertySetDef_ptr create_propertysetdef();

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_constrained_propertysetdef:1.0
    //
    ::CosPropertyService::PropertySetDef_ptr create_constrained_propertysetdef(const ::CosPropertyService::PropertyTypes& allowed_property_types,
                                                                               const ::CosPropertyService::PropertyDefs& allowed_property_defs);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_initial_propertysetdef:1.0
    //
    ::CosPropertyService::PropertySetDef_ptr create_initial_propertysetdef(const ::CosPropertyService::PropertyDefs& initial_property_defs);
};

//
// IDL:omg.org/CosPropertyService/PropertySet:1.0
//
class PropertySet : virtual public ::CosPropertyService::PropertySet,
                    virtual public OBCORBA::Object
{
    PropertySet(const PropertySet&);
    void operator=(const PropertySet&);

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    PropertySet() { }
    virtual ~PropertySet() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/define_property:1.0
    //
    void define_property(const char* property_name,
                         const ::CORBA::Any& property_value);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/define_properties:1.0
    //
    void define_properties(const ::CosPropertyService::Properties& nproperties);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_number_of_properties:1.0
    //
    ::CORBA::ULong get_number_of_properties();

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_all_property_names:1.0
    //
    void get_all_property_names(::CORBA::ULong how_many,
                                ::CosPropertyService::PropertyNames_out property_names,
                                ::CosPropertyService::PropertyNamesIterator_out rest);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_property_value:1.0
    //
    ::CORBA::Any* get_property_value(const char* property_name);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_properties:1.0
    //
    ::CORBA::Boolean get_properties(const ::CosPropertyService::PropertyNames& property_names,
                                    ::CosPropertyService::Properties_out nproperties);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_all_properties:1.0
    //
    void get_all_properties(::CORBA::ULong how_many,
                            ::CosPropertyService::Properties_out nproperties,
                            ::CosPropertyService::PropertiesIterator_out rest);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_property:1.0
    //
    void delete_property(const char* property_name);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_properties:1.0
    //
    void delete_properties(const ::CosPropertyService::PropertyNames& property_names);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_all_properties:1.0
    //
    ::CORBA::Boolean delete_all_properties();

    //
    // IDL:omg.org/CosPropertyService/PropertySet/is_property_defined:1.0
    //
    ::CORBA::Boolean is_property_defined(const char* property_name);
};

//
// IDL:omg.org/CosPropertyService/PropertySetDef:1.0
//
class PropertySetDef : virtual public ::CosPropertyService::PropertySetDef,
                       virtual public OBProxy_CosPropertyService::PropertySet
{
    PropertySetDef(const PropertySetDef&);
    void operator=(const PropertySetDef&);

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    PropertySetDef() { }
    virtual ~PropertySetDef() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_property_types:1.0
    //
    void get_allowed_property_types(::CosPropertyService::PropertyTypes_out property_types);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_properties:1.0
    //
    void get_allowed_properties(::CosPropertyService::PropertyDefs_out property_defs);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/define_property_with_mode:1.0
    //
    void define_property_with_mode(const char* property_name,
                                   const ::CORBA::Any& property_value,
                                   ::CosPropertyService::PropertyModeType property_mode);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/define_properties_with_modes:1.0
    //
    void define_properties_with_modes(const ::CosPropertyService::PropertyDefs& property_defs);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_property_mode:1.0
    //
    ::CosPropertyService::PropertyModeType get_property_mode(const char* property_name);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_property_modes:1.0
    //
    ::CORBA::Boolean get_property_modes(const ::CosPropertyService::PropertyNames& property_names,
                                        ::CosPropertyService::PropertyModes_out property_modes);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/set_property_mode:1.0
    //
    void set_property_mode(const char* property_name,
                           ::CosPropertyService::PropertyModeType property_mode);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/set_property_modes:1.0
    //
    void set_property_modes(const ::CosPropertyService::PropertyModes& property_modes);
};

//
// IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0
//
class PropertyNamesIterator : virtual public ::CosPropertyService::PropertyNamesIterator,
                              virtual public OBCORBA::Object
{
    PropertyNamesIterator(const PropertyNamesIterator&);
    void operator=(const PropertyNamesIterator&);

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    PropertyNamesIterator() { }
    virtual ~PropertyNamesIterator() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/reset:1.0
    //
    void reset();

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_one:1.0
    //
    ::CORBA::Boolean next_one(::CosPropertyService::PropertyName_out property_name);

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_n:1.0
    //
    ::CORBA::Boolean next_n(::CORBA::ULong how_many,
                            ::CosPropertyService::PropertyNames_out property_names);

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/destroy:1.0
    //
    void destroy();
};

//
// IDL:omg.org/CosPropertyService/PropertiesIterator:1.0
//
class PropertiesIterator : virtual public ::CosPropertyService::PropertiesIterator,
                           virtual public OBCORBA::Object
{
    PropertiesIterator(const PropertiesIterator&);
    void operator=(const PropertiesIterator&);

protected:

    virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();

public:

    PropertiesIterator() { }
    virtual ~PropertiesIterator() { }

    virtual const char** _OB_ids() const;

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/reset:1.0
    //
    void reset();

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/next_one:1.0
    //
    ::CORBA::Boolean next_one(::CosPropertyService::Property_out aproperty);

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/next_n:1.0
    //
    ::CORBA::Boolean next_n(::CORBA::ULong how_many,
                            ::CosPropertyService::Properties_out nproperties);

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/destroy:1.0
    //
    void destroy();
};

} // End of namespace OBProxy_CosPropertyService

//
// IDL:omg.org/CosPropertyService:1.0
//
namespace OBStubImpl_CosPropertyService
{

//
// IDL:omg.org/CosPropertyService/PropertySetFactory:1.0
//
class PropertySetFactory : virtual public OB::StubImplBase
{
    PropertySetFactory(const PropertySetFactory&);
    void operator=(const PropertySetFactory&);

protected:

    PropertySetFactory() { }

public:

    static inline PropertySetFactory_ptr
    _duplicate(PropertySetFactory_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline PropertySetFactory_ptr
    _nil()
    {
        return 0;
    }

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_propertyset:1.0
    //
    virtual ::CosPropertyService::PropertySet_ptr create_propertyset() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_constrained_propertyset:1.0
    //
    virtual ::CosPropertyService::PropertySet_ptr create_constrained_propertyset(const ::CosPropertyService::PropertyTypes& allowed_property_types,
                                                                                 const ::CosPropertyService::Properties& allowed_properties) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_initial_propertyset:1.0
    //
    virtual ::CosPropertyService::PropertySet_ptr create_initial_propertyset(const ::CosPropertyService::Properties& initial_properties) = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertySetDefFactory:1.0
//
class PropertySetDefFactory : virtual public OB::StubImplBase
{
    PropertySetDefFactory(const PropertySetDefFactory&);
    void operator=(const PropertySetDefFactory&);

protected:

    PropertySetDefFactory() { }

public:

    static inline PropertySetDefFactory_ptr
    _duplicate(PropertySetDefFactory_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline PropertySetDefFactory_ptr
    _nil()
    {
        return 0;
    }

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_propertysetdef:1.0
    //
    virtual ::CosPropertyService::PropertySetDef_ptr create_propertysetdef() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_constrained_propertysetdef:1.0
    //
    virtual ::CosPropertyService::PropertySetDef_ptr create_constrained_propertysetdef(const ::CosPropertyService::PropertyTypes& allowed_property_types,
                                                                                       const ::CosPropertyService::PropertyDefs& allowed_property_defs) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_initial_propertysetdef:1.0
    //
    virtual ::CosPropertyService::PropertySetDef_ptr create_initial_propertysetdef(const ::CosPropertyService::PropertyDefs& initial_property_defs) = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertySet:1.0
//
class PropertySet : virtual public OB::StubImplBase
{
    PropertySet(const PropertySet&);
    void operator=(const PropertySet&);

protected:

    PropertySet() { }

public:

    static inline PropertySet_ptr
    _duplicate(PropertySet_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline PropertySet_ptr
    _nil()
    {
        return 0;
    }

    //
    // IDL:omg.org/CosPropertyService/PropertySet/define_property:1.0
    //
    virtual void define_property(const char* property_name,
                                 const ::CORBA::Any& property_value) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/define_properties:1.0
    //
    virtual void define_properties(const ::CosPropertyService::Properties& nproperties) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_number_of_properties:1.0
    //
    virtual ::CORBA::ULong get_number_of_properties() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_all_property_names:1.0
    //
    virtual void get_all_property_names(::CORBA::ULong how_many,
                                        ::CosPropertyService::PropertyNames_out property_names,
                                        ::CosPropertyService::PropertyNamesIterator_out rest) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_property_value:1.0
    //
    virtual ::CORBA::Any* get_property_value(const char* property_name) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_properties:1.0
    //
    virtual ::CORBA::Boolean get_properties(const ::CosPropertyService::PropertyNames& property_names,
                                            ::CosPropertyService::Properties_out nproperties) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_all_properties:1.0
    //
    virtual void get_all_properties(::CORBA::ULong how_many,
                                    ::CosPropertyService::Properties_out nproperties,
                                    ::CosPropertyService::PropertiesIterator_out rest) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_property:1.0
    //
    virtual void delete_property(const char* property_name) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_properties:1.0
    //
    virtual void delete_properties(const ::CosPropertyService::PropertyNames& property_names) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_all_properties:1.0
    //
    virtual ::CORBA::Boolean delete_all_properties() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySet/is_property_defined:1.0
    //
    virtual ::CORBA::Boolean is_property_defined(const char* property_name) = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertySetDef:1.0
//
class PropertySetDef : virtual public OBStubImpl_CosPropertyService::PropertySet
{
    PropertySetDef(const PropertySetDef&);
    void operator=(const PropertySetDef&);

protected:

    PropertySetDef() { }

public:

    static inline PropertySetDef_ptr
    _duplicate(PropertySetDef_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline PropertySetDef_ptr
    _nil()
    {
        return 0;
    }

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_property_types:1.0
    //
    virtual void get_allowed_property_types(::CosPropertyService::PropertyTypes_out property_types) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_properties:1.0
    //
    virtual void get_allowed_properties(::CosPropertyService::PropertyDefs_out property_defs) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/define_property_with_mode:1.0
    //
    virtual void define_property_with_mode(const char* property_name,
                                           const ::CORBA::Any& property_value,
                                           ::CosPropertyService::PropertyModeType property_mode) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/define_properties_with_modes:1.0
    //
    virtual void define_properties_with_modes(const ::CosPropertyService::PropertyDefs& property_defs) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_property_mode:1.0
    //
    virtual ::CosPropertyService::PropertyModeType get_property_mode(const char* property_name) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_property_modes:1.0
    //
    virtual ::CORBA::Boolean get_property_modes(const ::CosPropertyService::PropertyNames& property_names,
                                                ::CosPropertyService::PropertyModes_out property_modes) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/set_property_mode:1.0
    //
    virtual void set_property_mode(const char* property_name,
                                   ::CosPropertyService::PropertyModeType property_mode) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/set_property_modes:1.0
    //
    virtual void set_property_modes(const ::CosPropertyService::PropertyModes& property_modes) = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0
//
class PropertyNamesIterator : virtual public OB::StubImplBase
{
    PropertyNamesIterator(const PropertyNamesIterator&);
    void operator=(const PropertyNamesIterator&);

protected:

    PropertyNamesIterator() { }

public:

    static inline PropertyNamesIterator_ptr
    _duplicate(PropertyNamesIterator_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline PropertyNamesIterator_ptr
    _nil()
    {
        return 0;
    }

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/reset:1.0
    //
    virtual void reset() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_one:1.0
    //
    virtual ::CORBA::Boolean next_one(::CosPropertyService::PropertyName_out property_name) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_n:1.0
    //
    virtual ::CORBA::Boolean next_n(::CORBA::ULong how_many,
                                    ::CosPropertyService::PropertyNames_out property_names) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/destroy:1.0
    //
    virtual void destroy() = 0;
};

//
// IDL:omg.org/CosPropertyService/PropertiesIterator:1.0
//
class PropertiesIterator : virtual public OB::StubImplBase
{
    PropertiesIterator(const PropertiesIterator&);
    void operator=(const PropertiesIterator&);

protected:

    PropertiesIterator() { }

public:

    static inline PropertiesIterator_ptr
    _duplicate(PropertiesIterator_ptr p)
    {
        if(p)
            p -> _OB_incRef();
        return p;
    }

    static inline PropertiesIterator_ptr
    _nil()
    {
        return 0;
    }

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/reset:1.0
    //
    virtual void reset() = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/next_one:1.0
    //
    virtual ::CORBA::Boolean next_one(::CosPropertyService::Property_out aproperty) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/next_n:1.0
    //
    virtual ::CORBA::Boolean next_n(::CORBA::ULong how_many,
                                    ::CosPropertyService::Properties_out nproperties) = 0;

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/destroy:1.0
    //
    virtual void destroy() = 0;
};

} // End of namespace OBStubImpl_CosPropertyService

//
// IDL:omg.org/CosPropertyService:1.0
//
namespace OBMarshalStubImpl_CosPropertyService
{

//
// IDL:omg.org/CosPropertyService/PropertySetFactory:1.0
//
class PropertySetFactory : virtual public OBStubImpl_CosPropertyService::PropertySetFactory,
                           virtual public OB::MarshalStubImpl
{
    PropertySetFactory(const PropertySetFactory&);
    void operator=(const PropertySetFactory&);

protected:

    PropertySetFactory() { }
    friend class OBProxy_CosPropertyService::PropertySetFactory;

public:

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_propertyset:1.0
    //
    virtual ::CosPropertyService::PropertySet_ptr create_propertyset();

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_constrained_propertyset:1.0
    //
    virtual ::CosPropertyService::PropertySet_ptr create_constrained_propertyset(const ::CosPropertyService::PropertyTypes& allowed_property_types,
                                                                                 const ::CosPropertyService::Properties& allowed_properties);

    //
    // IDL:omg.org/CosPropertyService/PropertySetFactory/create_initial_propertyset:1.0
    //
    virtual ::CosPropertyService::PropertySet_ptr create_initial_propertyset(const ::CosPropertyService::Properties& initial_properties);
};

//
// IDL:omg.org/CosPropertyService/PropertySetDefFactory:1.0
//
class PropertySetDefFactory : virtual public OBStubImpl_CosPropertyService::PropertySetDefFactory,
                              virtual public OB::MarshalStubImpl
{
    PropertySetDefFactory(const PropertySetDefFactory&);
    void operator=(const PropertySetDefFactory&);

protected:

    PropertySetDefFactory() { }
    friend class OBProxy_CosPropertyService::PropertySetDefFactory;

public:

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_propertysetdef:1.0
    //
    virtual ::CosPropertyService::PropertySetDef_ptr create_propertysetdef();

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_constrained_propertysetdef:1.0
    //
    virtual ::CosPropertyService::PropertySetDef_ptr create_constrained_propertysetdef(const ::CosPropertyService::PropertyTypes& allowed_property_types,
                                                                                       const ::CosPropertyService::PropertyDefs& allowed_property_defs);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDefFactory/create_initial_propertysetdef:1.0
    //
    virtual ::CosPropertyService::PropertySetDef_ptr create_initial_propertysetdef(const ::CosPropertyService::PropertyDefs& initial_property_defs);
};

//
// IDL:omg.org/CosPropertyService/PropertySet:1.0
//
class PropertySet : virtual public OBStubImpl_CosPropertyService::PropertySet,
                    virtual public OB::MarshalStubImpl
{
    PropertySet(const PropertySet&);
    void operator=(const PropertySet&);

protected:

    PropertySet() { }
    friend class OBProxy_CosPropertyService::PropertySet;

public:

    //
    // IDL:omg.org/CosPropertyService/PropertySet/define_property:1.0
    //
    virtual void define_property(const char* property_name,
                                 const ::CORBA::Any& property_value);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/define_properties:1.0
    //
    virtual void define_properties(const ::CosPropertyService::Properties& nproperties);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_number_of_properties:1.0
    //
    virtual ::CORBA::ULong get_number_of_properties();

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_all_property_names:1.0
    //
    virtual void get_all_property_names(::CORBA::ULong how_many,
                                        ::CosPropertyService::PropertyNames_out property_names,
                                        ::CosPropertyService::PropertyNamesIterator_out rest);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_property_value:1.0
    //
    virtual ::CORBA::Any* get_property_value(const char* property_name);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_properties:1.0
    //
    virtual ::CORBA::Boolean get_properties(const ::CosPropertyService::PropertyNames& property_names,
                                            ::CosPropertyService::Properties_out nproperties);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/get_all_properties:1.0
    //
    virtual void get_all_properties(::CORBA::ULong how_many,
                                    ::CosPropertyService::Properties_out nproperties,
                                    ::CosPropertyService::PropertiesIterator_out rest);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_property:1.0
    //
    virtual void delete_property(const char* property_name);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_properties:1.0
    //
    virtual void delete_properties(const ::CosPropertyService::PropertyNames& property_names);

    //
    // IDL:omg.org/CosPropertyService/PropertySet/delete_all_properties:1.0
    //
    virtual ::CORBA::Boolean delete_all_properties();

    //
    // IDL:omg.org/CosPropertyService/PropertySet/is_property_defined:1.0
    //
    virtual ::CORBA::Boolean is_property_defined(const char* property_name);
};

//
// IDL:omg.org/CosPropertyService/PropertySetDef:1.0
//
class PropertySetDef : virtual public OBStubImpl_CosPropertyService::PropertySetDef,
                       virtual public OBMarshalStubImpl_CosPropertyService::PropertySet
{
    PropertySetDef(const PropertySetDef&);
    void operator=(const PropertySetDef&);

protected:

    PropertySetDef() { }
    friend class OBProxy_CosPropertyService::PropertySetDef;

public:

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_property_types:1.0
    //
    virtual void get_allowed_property_types(::CosPropertyService::PropertyTypes_out property_types);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_allowed_properties:1.0
    //
    virtual void get_allowed_properties(::CosPropertyService::PropertyDefs_out property_defs);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/define_property_with_mode:1.0
    //
    virtual void define_property_with_mode(const char* property_name,
                                           const ::CORBA::Any& property_value,
                                           ::CosPropertyService::PropertyModeType property_mode);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/define_properties_with_modes:1.0
    //
    virtual void define_properties_with_modes(const ::CosPropertyService::PropertyDefs& property_defs);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_property_mode:1.0
    //
    virtual ::CosPropertyService::PropertyModeType get_property_mode(const char* property_name);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/get_property_modes:1.0
    //
    virtual ::CORBA::Boolean get_property_modes(const ::CosPropertyService::PropertyNames& property_names,
                                                ::CosPropertyService::PropertyModes_out property_modes);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/set_property_mode:1.0
    //
    virtual void set_property_mode(const char* property_name,
                                   ::CosPropertyService::PropertyModeType property_mode);

    //
    // IDL:omg.org/CosPropertyService/PropertySetDef/set_property_modes:1.0
    //
    virtual void set_property_modes(const ::CosPropertyService::PropertyModes& property_modes);
};

//
// IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0
//
class PropertyNamesIterator : virtual public OBStubImpl_CosPropertyService::PropertyNamesIterator,
                              virtual public OB::MarshalStubImpl
{
    PropertyNamesIterator(const PropertyNamesIterator&);
    void operator=(const PropertyNamesIterator&);

protected:

    PropertyNamesIterator() { }
    friend class OBProxy_CosPropertyService::PropertyNamesIterator;

public:

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/reset:1.0
    //
    virtual void reset();

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_one:1.0
    //
    virtual ::CORBA::Boolean next_one(::CosPropertyService::PropertyName_out property_name);

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/next_n:1.0
    //
    virtual ::CORBA::Boolean next_n(::CORBA::ULong how_many,
                                    ::CosPropertyService::PropertyNames_out property_names);

    //
    // IDL:omg.org/CosPropertyService/PropertyNamesIterator/destroy:1.0
    //
    virtual void destroy();
};

//
// IDL:omg.org/CosPropertyService/PropertiesIterator:1.0
//
class PropertiesIterator : virtual public OBStubImpl_CosPropertyService::PropertiesIterator,
                           virtual public OB::MarshalStubImpl
{
    PropertiesIterator(const PropertiesIterator&);
    void operator=(const PropertiesIterator&);

protected:

    PropertiesIterator() { }
    friend class OBProxy_CosPropertyService::PropertiesIterator;

public:

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/reset:1.0
    //
    virtual void reset();

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/next_one:1.0
    //
    virtual ::CORBA::Boolean next_one(::CosPropertyService::Property_out aproperty);

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/next_n:1.0
    //
    virtual ::CORBA::Boolean next_n(::CORBA::ULong how_many,
                                    ::CosPropertyService::Properties_out nproperties);

    //
    // IDL:omg.org/CosPropertyService/PropertiesIterator/destroy:1.0
    //
    virtual void destroy();
};

} // End of namespace OBMarshalStubImpl_CosPropertyService

//
// IDL:omg.org/CosPropertyService:1.0
//
namespace OBV_CosPropertyService
{

} // End of namespace OBV_CosPropertyService

//
// IDL:omg.org/CosPropertyService/Property:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::Property*);
void operator<<=(::CORBA::Any&, const CosPropertyService::Property&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::Property*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::Property* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::Property& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::Property*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyModeType:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyModeType);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosPropertyService::PropertyModeType&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyModeType val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosPropertyService::PropertyModeType& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyDef:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyDef*);
void operator<<=(::CORBA::Any&, const CosPropertyService::PropertyDef&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::PropertyDef*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyDef* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::PropertyDef& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::PropertyDef*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyMode:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyMode*);
void operator<<=(::CORBA::Any&, const CosPropertyService::PropertyMode&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::PropertyMode*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyMode* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::PropertyMode& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::PropertyMode*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyNames:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyNames*);
void operator<<=(::CORBA::Any&, const CosPropertyService::PropertyNames&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::PropertyNames*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyNames* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::PropertyNames& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::PropertyNames*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/Properties:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::Properties*);
void operator<<=(::CORBA::Any&, const CosPropertyService::Properties&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::Properties*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::Properties* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::Properties& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::Properties*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyDefs:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyDefs*);
void operator<<=(::CORBA::Any&, const CosPropertyService::PropertyDefs&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::PropertyDefs*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyDefs* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::PropertyDefs& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::PropertyDefs*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyModes:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyModes*);
void operator<<=(::CORBA::Any&, const CosPropertyService::PropertyModes&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::PropertyModes*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyModes* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::PropertyModes& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::PropertyModes*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyTypes:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyTypes*);
void operator<<=(::CORBA::Any&, const CosPropertyService::PropertyTypes&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::PropertyTypes*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyTypes* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::PropertyTypes& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::PropertyTypes*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/ConstraintNotSupported:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::ConstraintNotSupported*);
void operator<<=(::CORBA::Any&, const CosPropertyService::ConstraintNotSupported&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::ConstraintNotSupported*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::ConstraintNotSupported* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::ConstraintNotSupported& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::ConstraintNotSupported*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/InvalidPropertyName:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::InvalidPropertyName*);
void operator<<=(::CORBA::Any&, const CosPropertyService::InvalidPropertyName&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::InvalidPropertyName*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::InvalidPropertyName* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::InvalidPropertyName& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::InvalidPropertyName*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/ConflictingProperty:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::ConflictingProperty*);
void operator<<=(::CORBA::Any&, const CosPropertyService::ConflictingProperty&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::ConflictingProperty*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::ConflictingProperty* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::ConflictingProperty& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::ConflictingProperty*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyNotFound:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyNotFound*);
void operator<<=(::CORBA::Any&, const CosPropertyService::PropertyNotFound&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::PropertyNotFound*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyNotFound* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::PropertyNotFound& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::PropertyNotFound*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/UnsupportedTypeCode:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::UnsupportedTypeCode*);
void operator<<=(::CORBA::Any&, const CosPropertyService::UnsupportedTypeCode&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::UnsupportedTypeCode*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::UnsupportedTypeCode* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::UnsupportedTypeCode& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::UnsupportedTypeCode*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/UnsupportedProperty:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::UnsupportedProperty*);
void operator<<=(::CORBA::Any&, const CosPropertyService::UnsupportedProperty&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::UnsupportedProperty*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::UnsupportedProperty* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::UnsupportedProperty& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::UnsupportedProperty*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/UnsupportedMode:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::UnsupportedMode*);
void operator<<=(::CORBA::Any&, const CosPropertyService::UnsupportedMode&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::UnsupportedMode*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::UnsupportedMode* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::UnsupportedMode& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::UnsupportedMode*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/FixedProperty:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::FixedProperty*);
void operator<<=(::CORBA::Any&, const CosPropertyService::FixedProperty&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::FixedProperty*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::FixedProperty* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::FixedProperty& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::FixedProperty*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/ReadOnlyProperty:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::ReadOnlyProperty*);
void operator<<=(::CORBA::Any&, const CosPropertyService::ReadOnlyProperty&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::ReadOnlyProperty*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::ReadOnlyProperty* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::ReadOnlyProperty& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::ReadOnlyProperty*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/ExceptionReason:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::ExceptionReason);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosPropertyService::ExceptionReason&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::ExceptionReason val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosPropertyService::ExceptionReason& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyException:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyException*);
void operator<<=(::CORBA::Any&, const CosPropertyService::PropertyException&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::PropertyException*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyException* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::PropertyException& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::PropertyException*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyExceptions:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyExceptions*);
void operator<<=(::CORBA::Any&, const CosPropertyService::PropertyExceptions&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::PropertyExceptions*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyExceptions* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::PropertyExceptions& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::PropertyExceptions*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/MultipleExceptions:1.0
//
void operator<<=(::CORBA::Any&, CosPropertyService::MultipleExceptions*);
void operator<<=(::CORBA::Any&, const CosPropertyService::MultipleExceptions&);
CORBA::Boolean operator>>=(const ::CORBA::Any&, const CosPropertyService::MultipleExceptions*&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::MultipleExceptions* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, const CosPropertyService::MultipleExceptions& val)
{
    any.inout() <<= val;
}

inline ::CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, const CosPropertyService::MultipleExceptions*& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertySetFactory:1.0
//
namespace CORBA
{

inline void
release(::CosPropertyService::PropertySetFactory_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosPropertyService::PropertySetFactory_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosPropertyService::PropertySetFactory_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosPropertyService::PropertySetFactory_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosPropertyService::PropertySetFactory_ptr*);
void operator<<=(::CORBA::Any&, CosPropertyService::PropertySetFactory_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosPropertyService::PropertySetFactory_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertySetFactory_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertySetFactory_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosPropertyService::PropertySetFactory_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertySetDefFactory:1.0
//
namespace CORBA
{

inline void
release(::CosPropertyService::PropertySetDefFactory_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosPropertyService::PropertySetDefFactory_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosPropertyService::PropertySetDefFactory_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosPropertyService::PropertySetDefFactory_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosPropertyService::PropertySetDefFactory_ptr*);
void operator<<=(::CORBA::Any&, CosPropertyService::PropertySetDefFactory_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosPropertyService::PropertySetDefFactory_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertySetDefFactory_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertySetDefFactory_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosPropertyService::PropertySetDefFactory_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertySet:1.0
//
namespace CORBA
{

inline void
release(::CosPropertyService::PropertySet_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosPropertyService::PropertySet_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosPropertyService::PropertySet_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosPropertyService::PropertySet_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosPropertyService::PropertySet_ptr*);
void operator<<=(::CORBA::Any&, CosPropertyService::PropertySet_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosPropertyService::PropertySet_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertySet_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertySet_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosPropertyService::PropertySet_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertySetDef:1.0
//
namespace CORBA
{

inline void
release(::CosPropertyService::PropertySetDef_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosPropertyService::PropertySetDef_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosPropertyService::PropertySetDef_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosPropertyService::PropertySetDef_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosPropertyService::PropertySetDef_ptr*);
void operator<<=(::CORBA::Any&, CosPropertyService::PropertySetDef_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosPropertyService::PropertySetDef_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertySetDef_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertySetDef_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosPropertyService::PropertySetDef_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertyNamesIterator:1.0
//
namespace CORBA
{

inline void
release(::CosPropertyService::PropertyNamesIterator_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosPropertyService::PropertyNamesIterator_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosPropertyService::PropertyNamesIterator_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosPropertyService::PropertyNamesIterator_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosPropertyService::PropertyNamesIterator_ptr*);
void operator<<=(::CORBA::Any&, CosPropertyService::PropertyNamesIterator_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosPropertyService::PropertyNamesIterator_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyNamesIterator_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertyNamesIterator_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosPropertyService::PropertyNamesIterator_ptr& val)
{
    return any.in() >>= val;
}

//
// IDL:omg.org/CosPropertyService/PropertiesIterator:1.0
//
namespace CORBA
{

inline void
release(::CosPropertyService::PropertiesIterator_ptr p)
{
    if(p)
        p -> _remove_ref();
}

inline Boolean
is_nil(::CosPropertyService::PropertiesIterator_ptr p)
{
    return p == 0;
}

inline void
release(OBStubImpl_CosPropertyService::PropertiesIterator_ptr p)
{
    if(p)
        p -> _OB_decRef();
}

inline Boolean
is_nil(OBStubImpl_CosPropertyService::PropertiesIterator_ptr p)
{
    return p == 0;
}

} // End of namespace CORBA

void operator<<=(::CORBA::Any&, CosPropertyService::PropertiesIterator_ptr*);
void operator<<=(::CORBA::Any&, CosPropertyService::PropertiesIterator_ptr);
CORBA::Boolean operator>>=(const ::CORBA::Any&, CosPropertyService::PropertiesIterator_ptr&);

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertiesIterator_ptr* val)
{
    any.inout() <<= val;
}

inline void
operator<<=(::CORBA::Any_var& any, CosPropertyService::PropertiesIterator_ptr val)
{
    any.inout() <<= val;
}

inline CORBA::Boolean
operator>>=(const ::CORBA::Any_var& any, CosPropertyService::PropertiesIterator_ptr& val)
{
    return any.in() >>= val;
}

#endif
