From c34adc6e274c3dbb63af99ca566000e7d218244c Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Sun, 09 Dec 2007 17:22:06 +0000 Subject: reworked identity resolution and service discovery The discovery, which does both XRDS-based (Yadis, XRI, for XRI, using proxy) and HTML-based search, now returns results in opkele:idiscovery_t structure. It uses expat-based parser idigger_t, which itself is not exposed via any header files, but hidden in lib/discovery.cc, the discovery testing program is renamed from openid_resolve to idiscover. Signed-off-by: Michael Krelin --- (limited to 'test') diff --git a/test/.gitignore b/test/.gitignore index 5ce4dc9..31ae686 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -2,4 +2,4 @@ /.libs /test *.o -/openid_resolve +/idiscover diff --git a/test/Makefile.am b/test/Makefile.am index 5aa87b3..13c4cd2 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,4 +1,4 @@ -noinst_PROGRAMS = test openid_resolve +noinst_PROGRAMS = test idiscover DEFAULT_INCLUDES = -I${top_builddir} INCLUDES = -I${top_srcdir}/include/ ${KONFORKA_CFLAGS} @@ -11,5 +11,5 @@ EXTRA_DIST=$(addsuffix .html,$(addprefix html/, \ unclosed-head spaced-links spaced-link-attrs 2rels \ )) -openid_resolve_SOURCES = openid_resolve.cc -openid_resolve_LDADD = ${top_builddir}/lib/libopkele.la +idiscover_SOURCES = idiscover.cc +idiscover_LDADD = ${top_builddir}/lib/libopkele.la diff --git a/test/idiscover.cc b/test/idiscover.cc new file mode 100644 index 0000000..2abedc9 --- a/dev/null +++ b/test/idiscover.cc @@ -0,0 +1,49 @@ +#include +#include +#include +#include +using namespace std; +#include +#include + +template + 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(o," ")); + o << endl + << " URI: " << s.uris << endl + << " LocalID: " << s.local_ids << 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 -#include -#include -#include -using namespace std; -#include -#include - -int main(int argc,char **argv) { - try { - if(argc<2) - throw opkele::exception(OPKELE_CP_ "Please, give me something to resolve"); - opkele::openid_service_resolver_t resolver; - for(int a=1;a(clog," ") ); - clog << endl - << "service URI is " << iai.auth_SEP.xrd_URI << endl; - if(!iai.auth_SEP.openid_Delegate.empty()) - clog << "openid:Delegate is " << iai.auth_SEP.openid_Delegate << endl; - clog << endl; - } - }catch(exception& e) { - cerr << "oops: " << e.what() << endl; - _exit(1); - } - _exit(0); -} -- cgit v0.9.0.2