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
|