www.gusucode.com > trading工具箱matlab源码程序 > trading/trading/@emsx/getRouteInfo.m
function r = getRouteInfo(b,reqstruct,varargin) %GETROUTEINFO Bloomberg EMSX route information. % R = GETROUTEINFO(B,REQSTRUCT) gets Bloomberg EMSX route information using % the default event handler. % % GETROUTEINFO(B,REQSTRUCT,'useDefaultEventHandler',false) gets Bloomberg % EMSX route information. To process events, the user must invoke a % custom event handler. % % GETROUTEINFO(B,REQSTRUCT,'timeOut',200) gets Bloomberg EMSX route % information using the default event handler specifying a timeOut value % in milliseconds for the event handler. The default timeOut value is % 500 milliseconds. % % For example, % % reqStruct.EMSX_SEQUENCE = int32(335877); % reqStruct.EMSX_ROUTE_ID = int32(1); % % Note that EMSX_SEQUENCE must denote an existing order sequence number % and EMSX_ROUTE_ID must denote an existing route id. % % r = getRouteInfo(b,reqStruct) % % or % % getRouteInfo(b,reqStruct,'useDefaultEventHandler',false) % b.processEvent % % returns the information associated with route id specified. % % Note that the name/value pairs can be input as a single input structure % containing some or all of the property fields, for example, % % p.timeOut = 1000; % getRouteInfo(b,reqStruct,p) % % See also orders, createOrder, createOrderAndRoute, modifyOrder, deleteOrder, routes. % Copyright 2012 The MathWorks, Inc. %get request fields infoFields = fieldnames(reqstruct); %parse name/value pair settings p.timeOut = 500; p.useDefaultEventHandler = true; if nargin > 2 p = b.parsenv(varargin); end %build request request = b.Service.createRequest('RouteInfo'); for i = 1:length(infoFields) request.set(infoFields{i},reqstruct.(infoFields{i})); end %send request b.Session.sendRequest(request, []); %process events with default handler if p.useDefaultEventHandler r = b.routeInfoEvents(p.timeOut); elseif nargout == 1 r = []; end