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 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<e Name="ASYNC_CPP" Code="AsyncImpl" Type="IDL:acs/examples/Async:1.0" Container="bilboContainer" ImplLang="cpp" KeepAliveTime="0" /> <e Name="ASYNC_CLIENT_CPP" Code="AsyncClientImpl" Type="IDL:acs/examples/AsyncClient:1.0" Container="bilboContainer" ImplLang="cpp" KeepAliveTime="0" /> |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include <maciSimpleClient.h> #include <AsyncC.h> #include <ACSErrTypeCommon.h> #include <acsutilTimeStamp.h> using namespace maci; class MyCBImpl : public virtual POA_examples::MyCallback { public: MyCBImpl() { status=std::string("INIT"); } virtual ~CBuLongImpl() {} void update(const char* value) { status = std::string(value); } public: std::string status; }; |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include <maciSimpleClient.h> #include <AsyncC.h> #include <ACSErrTypeCommon.h> #include <acsutilTimeStamp.h> #include <MyCBImpl.h> using namespace maci; int main(int argc, char *argv[]) { SimpleClient client; examples::Async_var comp; if (client.init(argc,argv) == 0) { return -1; } else { client.login(); } try { comp = client.getComponent<examples::Async>("ASYNC_CPP", 0, true); } catch(maciErrType::CannotGetComponentExImpl& _ex) { _ex.log(); return -1; } CBuLongImplMyCBImpl cb; ACSexamples::CBuLongMyCallback_var cbObj = cb._this(); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); comp->delayAsync(8, cbObj.in()); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); sleep(5); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); sleep(5); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); ACS_SHORT_LOG((LM_INFO, "%ul", cb.value)); try { client.releaseComponent("ASYNC_CPP"); } catch(maciErrType::CannotReleaseComponentExImpl &_ex) { _ex.log(); return -1; } client.logout(); ACE_OS::sleep(3); return 0; } |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#include <AsyncClientImpl.h> #include <ACSErrTypeOK.h> AsyncClientImpl::AsyncClientImpl(const ACE_CString& name, maci::ContainerServices* containerServices) : acscomponent::ACSComponentImpl(name, containerServices) { } AsyncClientImpl::~AsyncClientImpl() { } void AsyncClientImpl::delay(ACS::uLong delay) { examples::Async_var comp = getContainerServices().getComponent<examples::Async>("ASYNC_CPP", 0, true); MyCBImpl cb; examples::MyCallback_var cbObj = cb._this(); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); comp->delayAsync(8delay, cbObj.in()); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); sleep(delay/2+1); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); sleep(delay/2+1); ACS_SHORT_LOG((LM_INFO, "%s", cb.status)); getContainerServices().releaseComponent("ASYNC_CPP"); } /* --------------- [ MACI DLL support functions ] -----------------*/ #include <maciACSComponentDefines.h> MACI_DLL_SUPPORT_FUNCTIONS(AsyncImpl) /* ----------------------------------------------------------------*/ |