bool DirectoryItem::open( const ReqMsg& reqMsg ) { const ReqMsgEncoder& reqMsgEncoder = static_cast<const ReqMsgEncoder&>( reqMsg.getEncoder() ); const Directory* pDirectory = 0; if ( reqMsgEncoder.hasServiceName() ) { pDirectory = _ommBaseImpl.getDirectoryCallbackClient().getDirectory( reqMsgEncoder.getServiceName() ); if ( !pDirectory ) { EmaString temp( "Service name of '" ); temp.append( reqMsgEncoder.getServiceName() ).append( "' is not found." ); _closedStatusInfo = new ClosedStatusInfo( this, reqMsgEncoder, temp ); new TimeOut( _ommBaseImpl, 1000, ItemCallbackClient::sendItemClosedStatus, _closedStatusInfo, true ); return true; } } else { if ( reqMsgEncoder.getRsslRequestMsg()->msgBase.msgKey.flags & RSSL_MKF_HAS_SERVICE_ID ) { pDirectory = _ommBaseImpl.getDirectoryCallbackClient().getDirectory( reqMsgEncoder.getRsslRequestMsg()->msgBase.msgKey.serviceId ); if ( !pDirectory ) { EmaString temp( "Service id of '" ); temp.append( reqMsgEncoder.getRsslRequestMsg()->msgBase.msgKey.serviceId ). append( "' is not found." ); _closedStatusInfo = new ClosedStatusInfo( this, reqMsgEncoder, temp ); new TimeOut( _ommBaseImpl, 1000, ItemCallbackClient::sendItemClosedStatus, _closedStatusInfo, true ); return true; } } } _pDirectory = pDirectory; return submit( reqMsgEncoder.getRsslRequestMsg() ); }
bool LoginItem::modify( const ReqMsg& reqMsg ) { return submit( static_cast<const ReqMsgEncoder&>( reqMsg.getEncoder() ).getRsslRequestMsg() ); }