You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
1.7 KiB
147 lines
1.7 KiB
/* Terminal struct source file. */
|
|
|
|
|
|
|
|
#include "Terminal.h"
|
|
|
|
#include "Msg.h"
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
Terminal_SendMessage is not visible to outside the Terminal.c file.
|
|
|
|
This is equivalent to a private method in C++.
|
|
|
|
*/
|
|
|
|
|
|
|
|
static void Terminal_SendMessage(Terminal *pTerm, Msg *pMsg)
|
|
|
|
{
|
|
|
|
/*...*/
|
|
|
|
}
|
|
|
|
|
|
|
|
void Terminal_Construct(Terminal *pTerm)
|
|
|
|
{
|
|
|
|
pTerm->terminalId = UNKNOWN;
|
|
|
|
pTerm->terminalType = UNKNOWN;
|
|
|
|
pTerm->terminalStatus = UNKNOWN;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Terminal_Destroy(Terminal *pTerm)
|
|
|
|
{
|
|
|
|
/*...*/
|
|
|
|
}
|
|
|
|
|
|
|
|
int Terminal_HandleRunDiagnostics(Terminal *pTerm, const RunDiagnosticsMsg *pMsg)
|
|
|
|
{
|
|
|
|
int status = 1;
|
|
|
|
/*...*/
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
|
|
|
|
int Terminal_HandleOutOfService(Terminal *pTerm)
|
|
|
|
{
|
|
|
|
int status = 1;
|
|
|
|
pTerm->terminalStatus = OUT_OF_SERVICE;
|
|
|
|
/*...*/
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
|
|
|
|
int Terminal_HandleInService(Terminal *pTerm)
|
|
|
|
{
|
|
|
|
int status = 1;
|
|
|
|
pTerm->terminalStatus = INSERVICE;
|
|
|
|
/*...*/
|
|
|
|
return status;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Terminal_Activate(Terminal *pTerm, const TerminalCreateMsg *pMsg)
|
|
|
|
{
|
|
|
|
TerminalCreateAck *pAck;
|
|
|
|
pTerm->terminalId = pMsg->header.terminalId;
|
|
|
|
pTerm->terminalType = pMsg->header.terminalType;
|
|
|
|
pTerm->terminalStatus = pMsg->header.terminalStatus;
|
|
|
|
/*...*/
|
|
|
|
|
|
|
|
pAck = (TerminalCreateAck *)malloc(sizeof(TerminalCreateAck));
|
|
|
|
pAck->header.terminalId = pTerm->terminalId;
|
|
|
|
pAck->header.terminalStatus = pTerm->terminalStatus;
|
|
|
|
|
|
|
|
Terminal_SendMessage(pTerm, (Msg *)pAck);
|
|
|
|
}
|
|
|
|
|
|
|
|
void Terminal_Deactivate(Terminal *pTerm, const TerminalDeleteMsg *pMsg)
|
|
|
|
{
|
|
|
|
/*...*/
|
|
|
|
pTerm->terminalId = UNKNOWN;
|
|
|
|
pTerm->terminalType = UNKNOWN;
|
|
|
|
pTerm->terminalStatus = UNKNOWN;
|
|
|
|
/*...*/
|
|
|
|
}
|