#include "interface.h" #include "kernel.h" #pragma PAGEDCODE CReaderInterface::CReaderInterface() { protocol = NULL; memory = NULL; debug = NULL; Initialized = FALSE; Mode = READER_MODE_NATIVE; }; CReaderInterface::CReaderInterface(CProtocol* protocol) { debug = kernel->createDebug(); if(protocol) this->protocol = protocol; memory = kernel->createMemory(); if(memory) { pOutputBuffer = (PUCHAR) memory->allocate(NonPagedPool,INTERFACE_OUTPUT_BUFFER_SIZE); pInputBuffer = (PUCHAR) memory->allocate(NonPagedPool,INTERFACE_INPUT_BUFFER_SIZE); if(pOutputBuffer && pInputBuffer) { OutputBufferLength = INTERFACE_OUTPUT_BUFFER_SIZE; InputBufferLength = INTERFACE_INPUT_BUFFER_SIZE; } else { if(pOutputBuffer) memory->free(pOutputBuffer); if(pInputBuffer) memory->free(pInputBuffer); pOutputBuffer = NULL; pInputBuffer = NULL; } } Initialized = FALSE; Mode = READER_MODE_NATIVE; TRACE("********* ReaderInterface object created ...\n"); }; CReaderInterface::~CReaderInterface() { TRACE("******* Destroing ReaderInterface object...\n"); if(memory) { if(pOutputBuffer) memory->free(pOutputBuffer); if(pInputBuffer) memory->free(pInputBuffer); memory->dispose(); } if(protocol) protocol->dispose(); if(debug) debug->dispose(); };