Information
We are currently investigating an issue with the editor of some pages. Please save your work and avoid to create new pages until this banner is gone.
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include <maciSimpleClient.h> #include <AsyncC.h> #include <ACSErrTypeCommon.h> #include <acsutilTimeStamp.h> using namespace maci; class CBuLongImpl : public virtual POA_ACS::CBuLong { public: CBuLongImpl() {value = 0; status=std::string("INIT")} virtual ~MyCBdouble() {} void working (CORBA::uLong value, const ACSErr::Completion &c, const ACS::CBDescOut &desc) { status = std::string("WORKING"); this.value = value; } void done (CORBA::uLong value, const ACSErr::Completion &c, const ACS::CBDescOut &desc){ status = std::string("DONE"); this.value = value; } CORBA::Boolean negotiate (ACS::TimeInterval time_to_transmit, const ACS::CBDescOut &desc) { return true; } CORBA::uLong value; public std::string status; }; int main(int argc, char *argv[]) { SimpleClient client; workshop::Async_var comp; if (client.init(argc,argv) == 0) { return -1; } else { client.login(); } try { comp = client.getComponent<workshop::Async>("ASYNC", 0, true); } catch(maciErrType::CannotGetComponentExImpl& _ex) { _ex.log(); return -1; } CBuLongImpl cb(); ACS::CBuLong_var cbObj = cb._this(); ACS::CBDescIn desc; desc.id_tag = 2; ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); comp.delayResult(8, cbObj.in(), desc); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); Thread.sleep(5000); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); Thread.sleep(5000); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); ACS_SHORT_LOG((LM_INFO, "%ul", cb.value)); try { client.releaseComponent("ASYNC"); } catch(maciErrType::CannotReleaseComponentExImpl &_ex) { _ex.log(); return -1; } client.logout(); ACE_OS::sleep(3); return 0; } |