char* InSDDSPort::attach(const BULKIO::SDDSStreamDefinition& stream, const char* userid) throw (BULKIO::dataSDDS::AttachError, BULKIO::dataSDDS::StreamInputError) { TRACE_ENTER(logger, "InSDDSPort::attach" ); LOG_DEBUG( logger, "SDDS PORT: ATTACH REQUEST, STREAM/USER: "******"/" << userid ); std::string attachId(""); if ( attach_detach_callback ) { try { LOG_DEBUG( logger, "SDDS PORT: CALLING ATTACH CALLBACK, STREAM/USER: "******"/" << userid ); attachId = attach_detach_callback->attach(stream, userid); } catch(...) { LOG_ERROR( logger, "SDDS PORT: ATTACH CALLBACK EXCEPTION, STREAM/USER: "******"/" << userid ); throw BULKIO::dataSDDS::AttachError("Callback Failed."); } } if ( attachId.size() == 0 ) { attachId = _uuid_gen(); } attachedStreamMap.insert(std::make_pair(attachId, new BULKIO::SDDSStreamDefinition(stream))); attachedUsers.insert(std::make_pair(attachId, std::string(userid))); LOG_DEBUG( logger, "SDDS PORT, ATTACH COMPLETED, ID:" << attachId << " STREAM/USER" << stream.id << "/" << userid ); TRACE_EXIT(logger, "InSDDSPort::attach" ); return CORBA::string_dup(attachId.c_str()); }
YacasKernel::Session::Session(const std::string& key): _auth(key), _uuid(_uuid_gen()) { }