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