// **********************************************************************
//
// Copyright (c) 2002
// IONA Technologies, Inc.
// Waltham, MA, USA
//
// All Rights Reserved
//
// **********************************************************************

#ifndef OB_OB_OBJECT_FWD_H
#define OB_OB_OBJECT_FWD_H

#include <OB/Template.h>

namespace OBCORBA
{
    
class Object;
typedef Object* Object_ptr;
typedef Object_ptr ObjectRef;

} // End of namespace OBCORBA

namespace OB
{

class ObjectFactory;
typedef ObjectFactory* ObjectFactory_ptr;

} // End of namespace OB

void OBDuplicate(OBCORBA::Object_ptr);
void OBRelease(OBCORBA::Object_ptr);

void OBDuplicate(OB::ObjectFactory_ptr);
void OBRelease(OB::ObjectFactory_ptr);

namespace OBCORBA
{
    
typedef OB::ObjVar< Object > Object_var;
typedef OB::ObjOut< Object > Object_out;

} // End of namespace OBCORBA

namespace OB
{

typedef OB::ObjVar< ObjectFactory > ObjectFactory_var;
typedef OB::ObjOut< ObjectFactory > ObjectFactory_out;

} // End of namespace OB

#endif
