#include #include #include #include #include "JNet/JControlHost.hh" #include "Jeep/JParser.hh" #include "Jeep/JMessage.hh" /** * \file * * Example program to test JNET::JSubscription. * \author mdejong */ int main(int argc, char* argv[]) { using namespace std; using namespace JPP; int debug; try { JParser<> zap("Example program to test JNET::JSubscription."); zap['d'] = make_field(debug) = 3; zap(argc, argv); } catch(const exception &error) { FATAL(error.what() << endl); } JSubscriptionList subscription; const JTag a("A"); const JTag b("B"); const JTag c("C"); const JTag tags[] = { a, b, c }; const size_t N = sizeof(tags)/sizeof(tags[0]); subscription = JSubscriptionAny(a) + JSubscriptionAny(b) + JSubscriptionAny(c); ASSERT(subscription->size() == N); for (size_t i = 0; i != N; ++i) { subscription += JSubscriptionAny(tags[i]); } ASSERT(subscription->size() == N); for (size_t i = 0; i != N; ++i) { subscription += JSubscriptionAll(tags[i]); } ASSERT(subscription->size() == N); for (JSubscriptionList::const_iterator i = subscription->begin(); i != subscription->end(); ++i) { ASSERT(i->getSubscription() == SUBSCRIBE_ALL); } for (size_t i = 0; i != N; ++i) { subscription += JSubscriptionAny(tags[i]); } ASSERT(subscription->size() == N); for (JSubscriptionList::const_iterator i = subscription->begin(); i != subscription->end(); ++i) { ASSERT(i->getSubscription() == SUBSCRIBE_ALL); } return 0; }