예제 #1
0
 /// 用 rptTableId(從1開始) 取得「回報表單格式」, 回報表單可能會有相同名稱.
 /// - cfg 必須是在 FnOnConfig_ 事件裡面提供的那個;
 /// - 這裡取得的 layout 將在下次 FnOnConfig_ 事件之後銷毀.
 /// - 可自行設定 retval->IdxUserFields_[], 不可更改 retval 的其他 members;
 public static unsafe Layout *GetReportLayout(ref f9rc.ClientSession ses, ref ClientConfig cfg, uint rptTableId)
 => GetReportLayout(ref *ses.RcSes_, ref cfg, rptTableId);
예제 #2
0
 // ------------------------------------------------------------------
 /// 訂閱回報, ses 與 cfg 必須是 FnOnConfig_ 事件通知時提供的 ref.
 public static unsafe void SubscribeReport(f9rc.ClientSession ses, ref ClientConfig cfg, SNO from, RptFilter filter)
 => SubscribeReport(ref *ses.RcSes_, ref cfg, from, filter);
예제 #3
0
 /// 用指定名稱取得「下單表單格式」.
 /// - cfg 必須是在 FnOnConfig_ 事件裡面提供的那個;
 /// - 這裡取得的 layout 將在下次 FnOnConfig_ 事件之後銷毀.
 /// - 建議您在處理 FnOnConfig_ 事件時, 取得需要的 request layout.
 /// - 可自行設定 retval->IdxUserFields_[], 不可更改 retval 的其他 members;
 /// - 您也可以透過 cfg->RequestLayoutArray_[] 循序搜尋 layout.
 public static unsafe Layout *GetRequestLayout(f9rc.ClientSession ses, ref ClientConfig cfg, string reqName)
 => GetRequestLayout(ref *ses.RcSes_, ref cfg, reqName);
예제 #4
0
        // C# 不提供此功能, 請自行組裝好傳送字串後呼叫: SendRequestString();
        // /// 傳送下單要求: 已填妥下單欄位字串陣列: reqFieldArray[0 .. reqLayout->FieldCount_);
        // /// \retval 1=true  下單要求已送出.
        // /// \retval 0=false 無法下單: 沒有呼叫過 f9OmsRc_Initialize();
        // ///                 或建立 ses 時, 沒有提供 f9OmsRc_ClientSessionParams 參數.
        // [DllImport(fon9.DotNetApi.kDllName, EntryPoint = "f9OmsRc_SendRequestFields", CharSet = CharSet.Ansi)]
        // unsafe static extern int f9OmsRc_SendRequestFields(ref f9rc.RcClientSession ses, ref Layout reqLayout, fon9.CStrView* reqFieldArray);

        /// 傳送下單要求之前, 可以自行檢查流量.
        /// 傳回需要等候的 microseconds. 傳回 0 表示不需管制.
        public static unsafe uint CheckFcRequest(f9rc.ClientSession ses)
        => CheckFcRequest(ref *ses.RcSes_);
예제 #5
0
 public static unsafe int SendRequestString(f9rc.ClientSession ses, ref Layout reqLayout, fon9.CStrView reqStr)
 => SendRequestString(ref *ses.RcSes_, ref reqLayout, reqStr);
예제 #6
0
 public static unsafe int SendRequestString(f9rc.ClientSession ses, ref Layout reqLayout, byte[] reqBytes)
 => SendRequestString(ref *ses.RcSes_, ref reqLayout, reqBytes);
예제 #7
0
 unsafe static public ResultCode Unsubscribe(f9rc.ClientSession ses, ref SeedName seedName, ReportHandler unregHandler)
 => Unsubscribe(ses.RcSes_, ref seedName, unregHandler);
예제 #8
0
 unsafe public static ResultCode Query(f9rc.ClientSession ses, ref SeedName seedName, ReportHandler handler)
 => Query(ses.RcSes_, ref seedName, handler);