blob: d9a7c62583eafcb4970a200791ea61a59cded7ec (
plain)
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
|
#include <iostream>
#include <stdexcept>
#include <iterator>
#include <algorithm>
using namespace std;
#include <opkele/exception.h>
#include <opkele/discovery.h>
template<typename _PDT>
ostream& operator<<(ostream& o,const opkele::xrd::priority_map<_PDT>& pm) {
for(typename opkele::xrd::priority_map<_PDT>::const_iterator i=pm.begin();
i!=pm.end();++i)
o << ' ' << i->second << '[' << i->first << ']';
return o;
}
ostream& operator<<(ostream& o,const opkele::xrd::service_t s) {
o << "{" << endl
<< " Type: ";
copy(s.types.begin(),s.types.end(),
ostream_iterator<string>(o," "));
o << endl
<< " URI: " << s.uris << endl
<< " LocalID: " << s.local_ids << endl
<< " ProviderID: " << s.provider_id << endl;
o << "}";
}
int main(int argc,char **argv) {
try {
if(argc<2)
throw opkele::exception(OPKELE_CP_ "Please, give me something to resolve");
for(int a=1;a<argc;++a) {
opkele::idiscovery_t discovery(argv[a]);
clog
<< "===============================================================" << endl
<< "User-supplied ID: " << argv[a] << endl
<< "Normalized ID: " << discovery.normalized_id << endl
<< "Canonicalized ID: " << discovery.canonicalized_id << endl
<< "The identity is " << (discovery.xri_identity?"":"not ") << "an i-name" << endl;
if(discovery.xrd.expires)
clog << "Information expires in " << discovery.xrd.expires-time(0) << " seconds" << endl;
clog << endl
<< "CanonicalID: " << discovery.xrd.canonical_ids << endl
<< "LocalID: " << discovery.xrd.local_ids << endl
<< "ProviderID: " << discovery.xrd.provider_id << endl
<< "Services: " << discovery.xrd.services << endl;
}
}catch(exception& e) {
cerr << "oops: " << e.what() << endl;
_exit(1);
}
_exit(0);
}
|