1 #include <shib-target/shib-target.h>
5 using namespace shibtarget;
7 int main (int argc, char *argv[])
10 enum clnt_stat clnt_stat;
12 const char* config=getenv("SHIBCONFIG");
15 const char* schemadir=getenv("SHIBSCHEMAS");
17 schemadir=SHIB_SCHEMAS;
19 ShibTargetConfig& conf=ShibTargetConfig::getConfig();
20 conf.setFeatures(ShibTargetConfig::Listener);
21 if (!conf.init(schemadir,config))
24 IListener::ShibSocket sock;
25 const IListener* listener=conf.getINI()->getListener();
26 if (!listener->create(sock))
28 cerr << "create failed\n";
32 if (!listener->connect(sock))
34 cerr << "connect failed\n";
38 CLIENT* clnt = listener->getClientHandle(sock,SHIBRPC_PROG, SHIBRPC_VERS_2);
40 clnt_pcreateerror("shibrpc_client_create");
41 cerr << "shibrpc_client_create failed\n";
46 clnt_stat = shibrpc_ping_2 (&start, &res, clnt);
48 if (clnt_stat != RPC_SUCCESS) {
49 clnt_perror (clnt, "rpc");
50 cerr << "RPC error:" << clnt_stat << ", " << res << "\n";
54 cout << sock << " -> " << res << "\n";