Revision 94a813e9
Von aquamaniac vor fast 20 Jahren hinzugefügt
src/test/lstest.c | ||
---|---|---|
|
||
|
||
#define GWEN_EXTEND_WAITCALLBACK
|
||
#include <chipcard2-server/server/cardserver.h>
|
||
#include <chipcard2-server/common/usbmonitor.h>
|
||
#include <gwenhywfar/logger.h>
|
||
#include <gwenhywfar/net.h>
|
||
#include <gwenhywfar/nettransportssl.h>
|
||
... | ... | |
|
||
#include "server_l.h"
|
||
#include "fullserver_l.h"
|
||
#include "pciscanner_l.h"
|
||
#include "usbrawscanner_l.h"
|
||
#include "usbttyscanner_l.h"
|
||
#ifdef USE_PCMCIA
|
||
# include "pcmciascanner_l.h"
|
||
#endif
|
||
|
||
|
||
int test1(int argc, char **argv) {
|
||
LC_CARDSERVER *cardServer;
|
||
GWEN_DB_NODE *db;
|
||
GWEN_WAITCALLBACK *cb;
|
||
|
||
cardServer=LC_CardServer_new(0);
|
||
cb=TEST_Callback_new(GWEN_WAITCALLBACK_ID_SIMPLE_PROGRESS);
|
||
if (GWEN_WaitCallback_Register(cb)) {
|
||
fprintf(stderr, "Could not register callback\n");
|
||
return 1;
|
||
}
|
||
|
||
//GWEN_WaitCallback_SetDistance(cb, 100);
|
||
//GWEN_WaitCallback_Enter(GWEN_NETCONNECTION_CBID_IO);
|
||
|
||
db=GWEN_DB_Group_new("config");
|
||
if (GWEN_DB_ReadFile(db,
|
||
"chipcardd.conf",
|
||
GWEN_DB_FLAGS_DEFAULT |
|
||
GWEN_PATH_FLAGS_CREATE_GROUP)) {
|
||
fprintf(stderr, "ERROR: Could not read file\n");
|
||
return 1;
|
||
}
|
||
if (LC_CardServer_ReadConfig(cardServer, db)) {
|
||
fprintf(stderr, "\nERROR: Could not read config\n");
|
||
return 1;
|
||
}
|
||
|
||
while(1) {
|
||
GWEN_NETCONNECTION_WORKRESULT res;
|
||
int rv;
|
||
|
||
//fprintf(stderr, "Heartbeat\n");
|
||
res=GWEN_Net_HeartBeat(2000);
|
||
if (res==GWEN_NetConnectionWorkResult_Error) {
|
||
fprintf(stderr, "\nERROR: Error while working (%d)\n", res);
|
||
}
|
||
|
||
//fprintf(stderr, "\nINFO: Changes\n");
|
||
while(1) {
|
||
rv=LC_CardServer_Work(cardServer);
|
||
if (rv==-1) {
|
||
fprintf(stderr,
|
||
"\nERROR: Error while working on hardware (%d)\n", rv);
|
||
break;
|
||
}
|
||
else if (rv==1)
|
||
break;
|
||
else {
|
||
//fprintf(stderr, "INFO: loop done (something done)\n");
|
||
//fprintf(stderr, "\nINFO: One loop with hardware done\n");
|
||
}
|
||
}
|
||
} /* while */
|
||
|
||
fprintf(stderr, "\nFinished.\n");
|
||
|
||
LC_CardServer_free(cardServer);
|
||
return 0;
|
||
}
|
||
|
||
|
||
|
||
int test2(int argc, char **argv) {
|
||
LC_CARDSERVER *cardServer;
|
||
GWEN_DB_NODE *db;
|
||
|
||
GWEN_Logger_SetLevel(0, GWEN_LoggerLevelDebug);
|
||
cardServer=LC_CardServer_new(0);
|
||
|
||
db=GWEN_DB_Group_new("config");
|
||
if (GWEN_DB_ReadFile(db,
|
||
"chipcardd.conf",
|
||
GWEN_DB_FLAGS_DEFAULT |
|
||
GWEN_PATH_FLAGS_CREATE_GROUP)) {
|
||
fprintf(stderr, "ERROR: Could not read file\n");
|
||
return 1;
|
||
}
|
||
if (LC_CardServer_ReadConfig(cardServer, db)) {
|
||
GWEN_DB_Group_free(db);
|
||
fprintf(stderr, "\nERROR: Could not read config\n");
|
||
return 1;
|
||
}
|
||
GWEN_DB_Group_free(db);
|
||
LC_CardServer_free(cardServer);
|
||
fprintf(stderr, "\nFinished.\n");
|
||
return 0;
|
||
}
|
||
|
||
|
||
int test3(int argc, char **argv) {
|
||
... | ... | |
|
||
|
||
|
||
int test4(int argc, char **argv) {
|
||
LC_USBMONITOR *um;
|
||
|
||
um=LC_USBMonitor_new();
|
||
|
||
if (LC_USBMonitor_Scan(um)) {
|
||
fprintf(stderr, "Could not read USB files.\n");
|
||
return 2;
|
||
}
|
||
|
||
if (LC_USBMonitor_Scan(um)) {
|
||
fprintf(stderr, "Could not read USB files.\n");
|
||
return 2;
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
|
||
#if 0
|
||
int test5(int argc, char **argv) {
|
||
LC_PCIMONITOR *um;
|
||
|
||
um=LC_PciMonitor_new();
|
||
|
||
if (LC_PciMonitor_Scan(um)) {
|
||
fprintf(stderr, "Could not read PCI files.\n");
|
||
return 2;
|
||
}
|
||
|
||
if (LC_PciMonitor_Scan(um)) {
|
||
fprintf(stderr, "Could not read PCI files.\n");
|
||
return 2;
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
#endif
|
||
|
||
|
||
int test6(int argc, char **argv) {
|
||
LCS_SERVER *cs;
|
||
LCDM_DEVICEMANAGER *dm;
|
||
... | ... | |
|
||
|
||
|
||
int test8(int argc, char **argv) {
|
||
LC_DEVMONITOR *devmon;
|
||
LC_DEVSCANNER *devscan;
|
||
int rv;
|
||
LC_DEVICE_LIST *devlist;
|
||
LC_DEVICE *dev;
|
||
|
||
devmon=LC_DevMonitor_new();
|
||
devscan=LC_PciScanner_new();
|
||
LC_DevMonitor_AddScanner(devmon, devscan);
|
||
|
||
#ifdef USE_PCMCIA
|
||
devscan=LC_PcmciaScanner_new();
|
||
LC_DevMonitor_AddScanner(devmon, devscan);
|
||
#endif
|
||
|
||
devscan=LC_UsbRawScanner_new();
|
||
LC_DevMonitor_AddScanner(devmon, devscan);
|
||
|
||
devscan=LC_UsbTtyScanner_new();
|
||
LC_DevMonitor_AddScanner(devmon, devscan);
|
||
|
||
rv=LC_DevMonitor_Scan(devmon);
|
||
if (rv<0) {
|
||
fprintf(stderr, "Error scanning\n");
|
||
}
|
||
else if (rv==1) {
|
||
fprintf(stderr, "No changes.\n");
|
||
}
|
||
|
||
devlist=LC_DevMonitor_GetCurrentDevices(devmon);
|
||
assert(devlist);
|
||
|
||
fprintf(stderr, "List of devices:\n");
|
||
dev=LC_Device_List_First(devlist);
|
||
while(dev) {
|
||
fprintf(stderr, "Device: %s %d %d 0x%04x 0x%04x\n",
|
||
LC_Device_BusType_toString(LC_Device_GetBusType(dev)),
|
||
LC_Device_GetBusId(dev),
|
||
LC_Device_GetDeviceId(dev),
|
||
LC_Device_GetVendorId(dev),
|
||
LC_Device_GetProductId(dev));
|
||
dev=LC_Device_List_Next(dev);
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
|
||
|
||
|
||
int main(int argc, char **argv) {
|
||
if (argc<2) {
|
||
fprintf(stderr, "At least command name needed.\n");
|
||
... | ... | |
// "server.log",
|
||
// GWEN_LoggerTypeFile,
|
||
// GWEN_LoggerFacilityUser);
|
||
GWEN_Logger_SetLevel(0, GWEN_LoggerLevelDebug);
|
||
GWEN_Logger_SetLevel(0, GWEN_LoggerLevelInfo);
|
||
|
||
if (strcasecmp(argv[1], "test1")==0)
|
||
return test1(argc, argv);
|
||
else if (strcasecmp(argv[1], "test2")==0)
|
||
return test2(argc, argv);
|
||
else if (strcasecmp(argv[1], "test3")==0)
|
||
if (strcasecmp(argv[1], "test3")==0)
|
||
return test3(argc, argv);
|
||
else if (strcasecmp(argv[1], "test4")==0)
|
||
return test4(argc, argv);
|
||
#if 0
|
||
else if (strcasecmp(argv[1], "test5")==0)
|
||
return test5(argc, argv);
|
||
#endif
|
||
else if (strcasecmp(argv[1], "test6")==0)
|
||
return test6(argc, argv);
|
||
else if (strcasecmp(argv[1], "test7")==0)
|
||
return test7(argc, argv);
|
||
else if (strcasecmp(argv[1], "test8")==0)
|
||
return test8(argc, argv);
|
||
else {
|
||
fprintf(stderr, "Unknown command \"%s\"\n", argv[1]);
|
||
return 1;
|
Auch abrufbar als: Unified diff
- added support for pcmcia device detection
- completed transition to new server code
git-svn-id: https://devel.aqbanking.de/svn/libchipcard/trunk@122 bfc04c16-8f10-0410-8200-ddfbc4d55d47