/*
 *  CorbaObject.java v0.10 20-DEC-1999
 *  Copyright (c) TKK/TLM/Calypso
 *  Author: Alexey Mednonogov
 */

package codec;

import java.io.*;
import java.util.*;

import codec.*;
import codec.adapt.*;
import codec.convert.*;
import codec.debug.*;
import codec.dyntree.*;
import codec.export.*;
import codec.orb.*;
import codec.pco.*;
import codec.server.*;
import codec.client.*;
import codec.visit.*;
import codec.build.*;

/** Class representing Gateway-oriented model of CORBA object. */
final public class CorbaObject {

    private org.omg.CORBA.Object object;
    private String pcoName;
    private int pcoType;

    public static final int PCO_TYPE_SERVER  = 0;
    public static final int PCO_TYPE_CLIENT  = 1;
    public static final int PCO_TYPE_PRODUCT = 2;

    private void checkPcoType(int pcoType_) {

        if ((pcoType_ != PCO_TYPE_SERVER) &&
            (pcoType_ != PCO_TYPE_CLIENT) &&
            (pcoType_ != PCO_TYPE_PRODUCT)) {

            System.out.println("CorbaObject::checkPcoType(): " +
                               "Invalid PCO Type.");
            System.exit(0);
        }
    }

    public CorbaObject(org.omg.CORBA.Object object_, String pcoName_,
                       int pcoType_)
    {
        checkPcoType(pcoType_);
        object = object_;
        pcoName = pcoName_;
        pcoType = pcoType_;
    }

    public String getPcoName() {
        return pcoName;
    }

    public int getPcoType() {
        return pcoType;
    }

    public org.omg.CORBA.Object getObject() {
        return object;
    }
}
