ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
FUJITSU Software

2.2 ORBクラス

ここでは、ORB(クライアント/サーバ間の通信を仲介する機能:Object Request Broker)の初期化などを行うための基本的なインタフェースを提供するORBクラスについて説明します。

class CORBA
{
    public:
    typedef string ORBid;
    typedef string ObjectId ;
    typedef BOA_ptr *BOA;
    typedef NVList_ptr *NVList;
    typedef OperationDef_ptr *OperationDef;
    typedef Context_ptr *Context;

    ORB_ptr ORB_init(int&, char**, ORBid);
    class ORB : public CORBA
    {
    public:
        BOA_ptr BOA_init (int *, char **, BOAid, CORBA::Environment& );
        Object_ptr resolve_initial_references (ObjectId, CORBA::Environment&);
        char *object_to_string(Object_ptr, CORBA::Environment&);
        Object_ptr string_to_object(const char *, CORBA::Environment& );
        Status create_list(Long, NVList_ptr&, CORBA::Environment& );
        Status create_operation_list(OperationDef_ptr, NVList&, CORBA::Environment& );
        Status get_default_context(Context_ptr&, CORBA::Environment& );
        Status create_environment(Environment_ptr&, CORBA::Environment& );
        Status send_multiple_requests_oneway(const RequestSeq&, CORBA::Environment& );
        Status send_multiple_requests_deferred(const RequestSeq, CORBA::Environment& );
        Status get_next_response(RequestSeq*&, CORBA::Environment& );
        boolean poll_next_response( CORBA::Environment& );
    };

    class RequestSeq
    {
    public:
        RequestSeq();
        RequestSeq( ULong max );
        RequestSeq(
            ULong max,
            ULong length,
            Request_ptr *value,
            Boolean release = FALSE
        );
        ~RequestSeq();
    private:
        ULong _maximum;
        ULong _length;
        Request_ptr *_buffer;
    };
}