//This file was generated by the LASAL2 CodeGenerator  -- 
//Please, do not edit this file (it might be overwritten by the next generator run)
//{{LSL_DECLARATION

(*!
<Class
	Name               = "_LMCAxisVisLogHandle"
	Revision           = "1.0"
	GUID               = "{9339F4DB-3648-45E7-8349-74B997685850}"
	RealtimeTask       = "false"
	CyclicTask         = "false"
	BackgroundTask     = "false"
	Sigmatek           = "true"
	OSInterface        = "false"
	HighPriority       = "false"
	Automatic          = "false"
	UpdateMode         = "Prescan"
	IconPath           = ".\Class\_LMCAxis\LMCAxis.ico"
	SharedCommandTable = "true"
	Objectsize         = "(448,120)">
	<Channels>
		<Server Name="ClassSvr" GUID="{931C77C0-EA1B-424D-A5A7-38399F0DB71B}" Visualized="false" Initialize="false" WriteProtected="true" Retentive="false"/>
		<Server Name="LogIndex" GUID="{1E67339C-2D87-4C32-9786-3B316E161478}" Visualized="false" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="LogMode" GUID="{BBE9F988-24AE-4EE6-B4F1-C2540DEB31FD}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="LogOffset" GUID="{AFD7152F-F363-4A1E-9DA8-476CA7975946}" Visualized="true" Initialize="false" WriteProtected="false" Retentive="false"/>
		<Server Name="LogOffsetMax" GUID="{26C34576-73C1-43E3-A65D-F662922856CD}" Visualized="true" Initialize="false" WriteProtected="true" Retentive="false"/>
		<Client Name="LMCAxisBase" Required="true" Internal="false"/>
	</Channels>
	<RevDoku>
		<Owner Company="Sigmatek" Author="ZoePat"/>
		<Dokumentation Revision="1.0" Date="2013-06-20" Author="ZoePat" Company="Sigmatek" Description="Created to handle LogData for VOV."/>
	</RevDoku>
</Class>
*)
_LMCAxisVisLogHandle : CLASS
  //Servers:
	ClassSvr 	: SvrChCmd_DINT;
	LogMode 	: SvrCh_DINT;
	LogOffset 	: SvrCh_DINT;
	LogIndex 	: SvrCh_DINT;
	LogOffsetMax 	: SvrCh_DINT;
  //Clients:
	LMCAxisBase 	: CltChCmd__LMCAxisBase;
  //Variables:
		ptrLogFile 	: ^_LMCAxisBase::_LogFile;
  //Functions:
	
	FUNCTION VIRTUAL GLOBAL Init;
	
	FUNCTION VIRTUAL GLOBAL LogMode::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL LogMode::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL LogOffset::Write
		VAR_INPUT
			input (EAX) 	: DINT;
		END_VAR
		VAR_OUTPUT
			result (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL LogIndex::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
	
	FUNCTION VIRTUAL GLOBAL LogOffsetMax::Read
		VAR_OUTPUT
			output (EAX) 	: DINT;
		END_VAR;
  //Tables:
	FUNCTION @STD
		VAR_OUTPUT
			ret_code	: CONFSTATES;
		END_VAR;
	FUNCTION GLOBAL TAB @CT_;
END_CLASS;

#pragma usingLtd _LMCAxisBase


//}}LSL_DECLARATION


FUNCTION GLOBAL TAB _LMCAxisVisLogHandle::@CT_
0$UINT,
2#0100000000000000$UINT, //TY__LMCAXISVISLOGHANDLE
1$UINT, 0$UINT, (SIZEOF(::_LMCAxisVisLogHandle))$UINT, 
5$UINT, 1$UINT, 0$UINT, 
TO_UDINT(1670072687), "_LMCAxisVisLogHandle", //Class
TO_UDINT(0), 0, 0$UINT, 0$UINT, //Baseclass
//Servers:
(::_LMCAxisVisLogHandle.ClassSvr.pMeth)$UINT, _CH_CMD$UINT, 2#0000000000000000$UINT, TO_UDINT(619352855), "ClassSvr", 
(::_LMCAxisVisLogHandle.LogMode.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(2315356560), "LogMode", 
(::_LMCAxisVisLogHandle.LogOffset.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(3079590910), "LogOffset", 
(::_LMCAxisVisLogHandle.LogIndex.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(168518947), "LogIndex", 
(::_LMCAxisVisLogHandle.LogOffsetMax.pMeth)$UINT, _CH_SVR$UINT, 2#0000000000000000$UINT, TO_UDINT(345900693), "LogOffsetMax", 
//Clients:
(::_LMCAxisVisLogHandle.LMCAxisBase.pCh)$UINT, _CH_CLT_OBJ$UINT, 2#0000000000000010$UINT, TO_UDINT(1308806851), "LMCAxisBase", TO_UDINT(280984637), "_LMCAxisBase", 2$UINT, 110$UINT, 
END_FUNCTION


#define USER_CNT__LMCAxisVisLogHandle 0

TYPE
	_LSL_STD_VMETH	: STRUCT
			CmdTable	: CMDMETH;
			UserFcts	: ARRAY[0..USER_CNT__LMCAxisVisLogHandle] OF ^Void;
	END_STRUCT;
END_TYPE

FUNCTION _LMCAxisVisLogHandle::@STD
	VAR_OUTPUT
		ret_code	: CONFSTATES;
	END_VAR
	VAR
		vmt	: _LSL_STD_VMETH;
	END_VAR

	//Command Methods
	InitCmdTable (nCmd := nSTDCMD + USER_CNT__LMCAxisVisLogHandle, pCmd := #vmt.CmdTable);
	vmt.CmdTable.Init		:= #Init();
	ClassSvr.pMeth		:= StoreCmd (pCmd := #vmt.CmdTable, SHARED);

	IF ClassSvr.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	LogMode.pMeth			:= StoreMethod( #LogMode::Read(), #LogMode::Write() );
	IF LogMode.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	LogOffset.pMeth			:= StoreMethod( #M_RD_DIRECT(), #LogOffset::Write() );
	IF LogOffset.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	LogIndex.pMeth			:= StoreMethod( #LogIndex::Read(), #M_WR_DIRECT() );
	IF LogIndex.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;
	LogOffsetMax.pMeth			:= StoreMethod( #LogOffsetMax::Read(), #M_NO_F() );
	IF LogOffsetMax.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		RETURN;
	END_IF;

END_FUNCTION

//{{LSL_IMPLEMENTATION
//{{LSL_ENCRYPTION 16#800
[encoded data, 4200 characters]
126C0DBB235D651EE9D8DCAB