1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
#include "Aria.h"
#include "ArNetworking.h"
void getModeDataList(ArNetPacket *packet)
{
char mode[512];
char data[512];
int numData;
int i;
numData = packet->bufToByte4();
printf("%d data in modes\n", numData);
for (i = 0; i < numData; i++)
{
packet->bufToStr(mode, sizeof(mode));
packet->bufToStr(data, sizeof(data));
printf("%-20s%s\n", mode, data);
}
}
void getModeInfo(ArNetPacket *packet)
{
char mode[512];
unsigned char locked;
unsigned char willUnlock;
packet->bufToStr(mode, sizeof(mode));
locked = packet->bufToUByte();
willUnlock = packet->bufToUByte();
printf("Mode: %s locked: %d willUnlockIfRequested: %d\n",
mode, locked, willUnlock);
}
int main(int argc, char **argv)
{
Aria::init();
ArLog::init(ArLog::StdOut, ArLog::Normal);
ArClientBase client;
ArArgumentParser parser(&argc, argv);
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
if (!clientConnector.parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
clientConnector.logOptions();
exit(0);
}
if (!clientConnector.connectClient(&client))
{
if (client.wasRejected())
printf("Server '%s' rejected connection, exiting\n", client.getHost());
else
printf("Could not connect to server '%s', exiting\n", client.getHost());
exit(1);
}
ArGlobalFunctor1<ArNetPacket *> getModeDataListCB(&getModeDataList);
ArGlobalFunctor1<ArNetPacket *> getModeInfoCB(&getModeInfo);
client.addHandler("getModeDataList", &getModeDataListCB);
client.requestOnce("getModeDataList");
client.addHandler("getModeInfo", &getModeInfoCB);
client.request("getModeInfo", -1);
client.runAsync();
while (client.getRunningWithLock())
{
ArUtil::sleep(1);
//printf("%d ms since last data\n", client.getLastPacketReceived().mSecSince());
}
Aria::shutdown();
return 0;
}
|