Bachelorthesis/Modbus-DLL/include/VCSignalProtocolDLL/ModbusProtocolAddOn.cpp
Jonny007-MKD b0c465c341 Changed VCSignalProtocol to ModbusProtocol
This is a first draft and it would be lucky if it worked
2014-05-28 14:27:53 +00:00

86 lines
2.2 KiB
C++

/*-------------------------------------------------------------------
VCSignalProtocolAddOn.h
-------------------------------------------------------------------
(c) Vector Informatik GmbH. All rights reserved.
------------------------------------------------------------------- */
#include "StdAfx.h"
#include "ModbusProtocolAddOn.h"
#include "ModbusProtocol.h"
////////////////////////////////////////////////////////////////////////
//
// Implementation of ModbusProtocolAddOn
//
////////////////////////////////////////////////////////////////////////
ModbusProtocolAddOn *ModbusProtocolAddOn::sInstance = NULL;
//----------------------------------------------------------------------
//!
/**
*/
ModbusProtocolAddOn::ModbusProtocolAddOn()
{
sInstance = this;
}
//----------------------------------------------------------------------
//!
/**
*/
ModbusProtocolAddOn& ModbusProtocolAddOn::Instance()
{
if (sInstance == 0) throw;
return *sInstance;
}
////////////////////////////////////////////////////////////////////////
// IProtocolAddOn
////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------
//!
/**
*/
VDEF ModbusProtocolAddOn::CreateProtocol( const char /*in*/ *protocolSymbol, NIPB::IProtocol /*out*/ **protocol )
{
if (protocol == 0) return NIPB::kInvalidArg;
if (protocolSymbol == 0) return NIPB::kInvalidArg;
*protocol = new ModbusProtocol();
return NIPB::kOK;
}
//----------------------------------------------------------------------
//!
/**
*/
VDEF ModbusProtocolAddOn::ReleaseProtocol( NIPB::IProtocol /*in*/ *protocol)
{
ModbusProtocol *prot = dynamic_cast<ModbusProtocol*>( protocol );
delete prot;
return NIPB::kOK;
}
////////////////////////////////////////////////////////////////////////
// Public Methods
////////////////////////////////////////////////////////////////////////
//----------------------------------------------------------------------
//!
/**
*/
void ModbusProtocolAddOn::Release()
{
delete this;
}
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////