// ICommon section result DRawDataStub::Invoke(const Call& call) { DRawDataPtr events( CommonImpl< DRawData >::GetTarget() ); if ( !events ) return _E_CALLNOTARGET; if ( ConnectedFnIid == call.GetMethod() ) { if ( call.GetArguments().size() < 1 ) return _E_INVALIDARG; result code = events->Connected(call.GetArguments().at(0).toCommon()); call.GetResults().clear(); call.GetResults().push_back(code); } else if ( DataReceivedFnIid == call.GetMethod() ) { if ( call.GetArguments().size() < 1 ) return _E_INVALIDARG; result code = events->DataReceived(call.GetArguments().at(0).toCommon()); call.GetResults().clear(); call.GetResults().push_back(code); } else if ( DisconnectedFnIid == call.GetMethod() ) { if ( call.GetArguments().size() < 1 ) return _E_INVALIDARG; result code = events->Disconnected(call.GetArguments().at(0).toCommon()); call.GetResults().clear(); call.GetResults().push_back(code); } return _S_OK; }