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

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;
      };
  }