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

#include <OB/CORBA.h>
#include <hello_skel.h>

//
// IDL:Hello:1.0
//
CORBA_ULong Hello_skel::_ob_num_ = 0;

Hello_skel::Hello_skel(const char* name)
{
    assert_nca(name, OBNCANullString);

    try
    {
        _OB_createObjectKeyWithName(name);
    }
    catch(...)
    {
        _OB_setRef(0);
        throw;
    }
}

CORBA_ULong
Hello_skel::_OB_incNumber() const
{
    return Hello_skel::_ob_num_++;
}

OBDispatchStatus
Hello_skel::_OB_dispatch(const char* _ob_op,
                         OBFixSeq< CORBA_Octet >& _ob_seq,
                         bool _ob_sw,
                         CORBA_ULong _ob_offIn,
                         CORBA_ULong _ob_offOut)
{
    if(strcmp(_ob_op, "hello") == 0)
    {

        hello();

        CORBA_ULong _ob_cnt = _ob_offOut;

        _ob_seq.length(0);
        _ob_seq.length(_ob_cnt);
#ifdef OB_CLEAR_MEM
        memset(_ob_seq.data(), 0, _ob_seq.length());
#endif

        return OBDispatchStatusOK;
    }
    else
        return CORBA_Object_skel::_OB_dispatch(_ob_op, _ob_seq, _ob_sw, _ob_offIn, _ob_offOut);
}

