61 lines
1.7 KiB
C
61 lines
1.7 KiB
C
|
/*
|
||
|
* ogcccode.h
|
||
|
*
|
||
|
* Copyright (c) 1999 by Microsoft Corporation
|
||
|
*
|
||
|
* Abstract:
|
||
|
* This is the interface file for the CNPCoder class. This
|
||
|
* class is used to encode and decode CNP Protocol Data Units (PDU's)
|
||
|
* to and from ASN.1 compliant byte streams using the ASN.1 toolkit.
|
||
|
*
|
||
|
* Caveats:
|
||
|
* None.
|
||
|
*
|
||
|
* Author:
|
||
|
* Xin Liu
|
||
|
*
|
||
|
*/
|
||
|
#ifndef _CCNPCODER_
|
||
|
#define _CCNPCODER_
|
||
|
|
||
|
#include "pktcoder.h"
|
||
|
#include "cnppdu.h"
|
||
|
|
||
|
/*
|
||
|
* This is the class definition for class CCNPCoder
|
||
|
*/
|
||
|
class CCNPCoder : public PacketCoder
|
||
|
{
|
||
|
public:
|
||
|
CCNPCoder ();
|
||
|
BOOL Init ( void );
|
||
|
virtual ~CCNPCoder ();
|
||
|
virtual BOOL Encode (LPVOID pdu_structure,
|
||
|
int pdu_type,
|
||
|
UINT rules_type,
|
||
|
LPBYTE *encoding_buffer,
|
||
|
UINT *encoding_buffer_length);
|
||
|
|
||
|
virtual BOOL Decode (LPBYTE encoded_buffer,
|
||
|
UINT encoded_buffer_length,
|
||
|
int pdu_type,
|
||
|
UINT rules_type,
|
||
|
LPVOID *decoding_buffer,
|
||
|
UINT *decoding_buffer_length);
|
||
|
|
||
|
virtual void FreeEncoded (LPBYTE encoded_buffer);
|
||
|
|
||
|
virtual void FreeDecoded (int pdu_type, LPVOID decoded_buffer);
|
||
|
|
||
|
virtual BOOL IsMCSDataPacket ( LPBYTE, UINT ) { return FALSE; };
|
||
|
|
||
|
private:
|
||
|
// BOOL IsObjectIDCompliant (PKey t124_identifier);
|
||
|
ASN1encoding_t m_pEncInfo; // ptr to encoder info
|
||
|
ASN1decoding_t m_pDecInfo; // ptr to decoder info
|
||
|
};
|
||
|
|
||
|
typedef CCNPCoder * PCCNPCoder;
|
||
|
|
||
|
#endif
|