Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド

[目次][索引][前へ][次へ]

19.2.5 Codec

Codecは,コンポーネントのIDLデータ型とCDRカプセル化表現の間でコンポーネントを転送する機能をインタセプタに提供します。Codecは,CodecFactoryから取得されます。

コードサンプル19-11 Codecクラス(C++)
 
class _VISEXPORT Codec
{
   public:
      virtual CORBA::OctetSequence* encode(const CORBA::Any& _data)=0;
      virtual CORBA::Any* decode(const CORBA::OctetSequence& _data)=0;
      virtual CORBA::OctetSequence* encode_value
                                         (const CORBA::Any& _data)=0;
      virtual CORBA::Any* decode_value(const
             CORBA::OctetSequence& _data, CORBA::TypeCode_ptr _tc)=0;
};
 

コードサンプル19-12 Codecインタフェース(Java)
 
package org.omg.IOP;
 
public interface Codec
   extends org.omg.CORBA.portable.IDLEntity,org.omg.CORBA.LocalInterface
{
   public byte[ ] encode(org.omg.CORBA.Any data)
       throws InvalidTypeForEncoding;
   public org.omg.CORBA.Any decode(byte[ ] data)throws
                                                  FormatMismatch;
   public byte[ ] encode_value(org.omg.CORBA.Any data)
      throws InvalidTypeForEncoding;
   public org.omg.CORBA.Any decode_value(byte[ ] data,
      org.omg.CORBA.TypeCode tc)
      throws FormatMismatch,TypeMismatch;
}