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

// Version: 3.2.1
// License: non-commercial

#ifndef __OBNaming_skel_h__
#define __OBNaming_skel_h__

#include <OB/OBNaming.h>

#include <OB/CosNaming_skel.h>

#ifndef OB_INTEGER_VERSION
#   error No ORBacus version defined!
#endif

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

//
// IDL:omg.org/CosNaming:1.0
//

//
// IDL:ooc.com/CosNaming/BindingListener:1.0
//
class CosNaming_BindingListener_skel : virtual public CosNaming_BindingListener,
                                       virtual public CORBA_Object_skel
{
    CosNaming_BindingListener_skel(const CosNaming_BindingListener_skel&);
    void operator=(const CosNaming_BindingListener_skel&);

protected:

    //
    // IDL:ooc.com/CosNaming/BindingListener/context_added:1.0
    //
    OBDispatchStatus _OB_op_context_added(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:ooc.com/CosNaming/BindingListener/context_removed:1.0
    //
    OBDispatchStatus _OB_op_context_removed(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:ooc.com/CosNaming/BindingListener/context_changed:1.0
    //
    OBDispatchStatus _OB_op_context_changed(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:ooc.com/CosNaming/BindingListener/object_added:1.0
    //
    OBDispatchStatus _OB_op_object_added(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:ooc.com/CosNaming/BindingListener/object_removed:1.0
    //
    OBDispatchStatus _OB_op_object_removed(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:ooc.com/CosNaming/BindingListener/object_changed:1.0
    //
    OBDispatchStatus _OB_op_object_changed(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

public:

    CosNaming_BindingListener_skel() { }

    CosNaming_BindingListener_ptr _this() { return CosNaming_BindingListener::_duplicate(this); }

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

    //
    // IDL:ooc.com/CosNaming/BindingListener/context_added:1.0
    //
    virtual void context_added(CosNaming_NamingContext_ptr parent_ctx,
                               CosNaming_NamingContext_ptr child_ctx,
                               const CosNaming_NameComponent& name) = 0;

    //
    // IDL:ooc.com/CosNaming/BindingListener/context_removed:1.0
    //
    virtual void context_removed(CosNaming_NamingContext_ptr parent_ctx,
                                 const CosNaming_NameComponent& name) = 0;

    //
    // IDL:ooc.com/CosNaming/BindingListener/context_changed:1.0
    //
    virtual void context_changed(CosNaming_NamingContext_ptr parent_ctx,
                                 CosNaming_NamingContext_ptr child_ctx,
                                 const CosNaming_NameComponent& old_name,
                                 const CosNaming_NameComponent& new_name) = 0;

    //
    // IDL:ooc.com/CosNaming/BindingListener/object_added:1.0
    //
    virtual void object_added(CosNaming_NamingContext_ptr parent_ctx,
                              CORBA_Object_ptr child_obj,
                              const CosNaming_NameComponent& name) = 0;

    //
    // IDL:ooc.com/CosNaming/BindingListener/object_removed:1.0
    //
    virtual void object_removed(CosNaming_NamingContext_ptr parent_ctx,
                                const CosNaming_NameComponent& name) = 0;

    //
    // IDL:ooc.com/CosNaming/BindingListener/object_changed:1.0
    //
    virtual void object_changed(CosNaming_NamingContext_ptr parent_ctx,
                                CORBA_Object_ptr child,
                                const CosNaming_NameComponent& old_name,
                                const CosNaming_NameComponent& new_name) = 0;
};

//
// IDL:ooc.com/CosNaming/OBNamingContext:1.0
//
class CosNaming_OBNamingContext_skel : virtual public CosNaming_OBNamingContext,
                                       virtual public CosNaming_NamingContextExt_skel
{
    CosNaming_OBNamingContext_skel(const CosNaming_OBNamingContext_skel&);
    void operator=(const CosNaming_OBNamingContext_skel&);

protected:

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/list_extended:1.0
    //
    OBDispatchStatus _OB_op_list_extended(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/rename:1.0
    //
    OBDispatchStatus _OB_op_rename(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/add_listener:1.0
    //
    OBDispatchStatus _OB_op_add_listener(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/remove_listener:1.0
    //
    OBDispatchStatus _OB_op_remove_listener(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/callbacks_active:1.0
    //
    OBDispatchStatus _OB_op_callbacks_active(OBBuffer&, bool, CORBA_ULong, CORBA_ULong);

public:

    CosNaming_OBNamingContext_skel() { }

    CosNaming_OBNamingContext_ptr _this() { return CosNaming_OBNamingContext::_duplicate(this); }

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

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/list_extended:1.0
    //
    virtual ExtendedBindingList* list_extended() = 0;

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/rename:1.0
    //
    virtual void rename(const CosNaming_Name& old_name,
                        const CosNaming_Name& new_name) = 0;

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/add_listener:1.0
    //
    virtual CORBA_Boolean add_listener(CosNaming_BindingListener_ptr listener) = 0;

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/remove_listener:1.0
    //
    virtual CORBA_Boolean remove_listener(CosNaming_BindingListener_ptr listener) = 0;

    //
    // IDL:ooc.com/CosNaming/OBNamingContext/callbacks_active:1.0
    //
    virtual CORBA_Boolean callbacks_active() = 0;
};

#endif
