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

#ifndef __hello_h__
#define __hello_h__

//
// IDL:Hello:1.0
//
class Hello;
typedef Hello* Hello_ptr;
typedef Hello* HelloRef;
typedef OBObjVar< Hello > Hello_var;

//
// IDL:Hello:1.0
//
class Hello : virtual public CORBA_Object
{
    Hello(const Hello&);
    void operator=(const Hello&);

protected:

    Hello() { }

public:

    static inline Hello_ptr
    _duplicate(Hello_ptr p)
    {
        CORBA_Object::_duplicate(p);
        return p;
    }

    static inline Hello_ptr
    _nil()
    {
        return 0;
    }

    static Hello_ptr _narrow(CORBA_Object_ptr);
    virtual void* _OB_narrowHelp(const char*) const;
    virtual const char* _OB_typeId() const;

    friend void OBUnmarshal(Hello_ptr&, const CORBA_Octet*&, bool);
    friend CORBA_Boolean operator>>=(const CORBA_Any&, Hello_ptr&);

    //
    // IDL:Hello/hello:1.0
    //
    virtual void hello();
};

extern const OBTypeCodeConst _tc_Hello;

//
// IDL:Hello:1.0
//
inline void
CORBA_release(Hello_ptr p)
{
    CORBA_release((CORBA_Object_ptr)p);
}

inline CORBA_Boolean
CORBA_is_nil(Hello_ptr p)
{
    return p == 0;
}

inline void
OBMarshal(Hello_ptr p, CORBA_Octet*& oct)
{
    OBMarshal((CORBA_Object_ptr)p, oct);
}

inline void
OBMarshalCount(Hello_ptr p, CORBA_ULong& count)
{
    OBMarshalCount((CORBA_Object_ptr)p, count);
}

void OBUnmarshal(Hello_ptr&, const CORBA_Octet*&, bool);

void operator<<=(CORBA_Any&, Hello_ptr);
void operator<<=(CORBA_Any&, Hello_ptr*);
CORBA_Boolean operator>>=(const CORBA_Any&, Hello_ptr&);

inline void
operator<<=(CORBA_Any_var& any, Hello_ptr val)
{
    any.inout() <<= val;
}

inline void
operator<<=(CORBA_Any_var& any, Hello_ptr* val)
{
    any.inout() <<= val;
}

inline CORBA_Boolean
operator>>=(const CORBA_Any_var& any, Hello_ptr& val)
{
    return any.in() >>= val;
}

#endif

