termsender.c
来自「SRI international 发布的OAA框架软件」· C语言 代码 · 共 99 行
C
99 行
#include "termsender.h"
#include <stdlib.h>
struct TermSenderStruct
{
TermSenderSendTerm sendTerm;
TermSenderCleanup cleanup;
TermSenderType type;
gint sendSocket;
gint error;
gpointer senderSpecificData;
}
;
TermSender* termSender_create()
{
TermSender* t = (TermSender*)malloc(sizeof(TermSender));
t->sendTerm = NULL;
t->cleanup = NULL;
t->type = UNKNOWNTERMSENDERTYPE;
t->sendSocket = -1;
t->error = TERMSENDER_OKAY;
t->senderSpecificData = NULL;
return t;
}
void termSender_free(TermSender* t)
{
if(t->cleanup != NULL) {
t->cleanup(t);
}
free(t);
}
int termSender_sendTerm(TermSender* sender, ICLTerm* term)
{
if(sender->sendTerm != NULL) {
sender->sendTerm(sender, term);
if(sender->error != TERMSENDER_OKAY) {
return -1;
}
}
else {
sender->error = TERMSENDER_NOTINITIALIZED;
return -1;
}
return 0;
}
void termSender_setError(TermSender* t, gint errnum)
{
t->error = errnum;
}
gint termSender_getError(TermSender* t)
{
return t->error;
}
void termSender_setSocket(TermSender* t, gint newsocket)
{
t->sendSocket = newsocket;
}
gint termSender_getSocket(TermSender* t)
{
return t->sendSocket;
}
void termSender_setType(TermSender* t, TermSenderType type)
{
t->type = type;
}
TermSenderType termSender_getType(TermSender* t)
{
return t->type;
}
void termSender_setSenderSpecificData(TermSender* t, gpointer g)
{
t->senderSpecificData = g;
}
gpointer termSender_getSenderSpecificData(TermSender* t)
{
return t->senderSpecificData;
}
void termSender_setSendTermCallback(TermSender* t, TermSenderSendTerm s)
{
t->sendTerm = s;
}
void termSender_setCleanupCallback(TermSender* t, TermSenderCleanup c)
{
t->cleanup = c;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?