internal override void ProcessReply(CallbackMessage message, bool moreComing) { if (message is BrowseCallbackMessage brm) { BrowseEvent?.Invoke(Token, new BrowseEventArgs(brm.Payload.Flags.HasFlag(ServiceFlags.Add) ? BrowseEventType.Added : BrowseEventType.Removed, new ServiceDescriptor(brm.Payload.InstanceName, brm.Payload.ServiceType, brm.Payload.Domain, brm.Payload.InterfaceIndex), moreComing)); } }
public static void OnEvent(JAnalytics.Event e) { int type = e.getType(); switch (type) { case JAnalytics.Event.BrowseEventType: BrowseEvent browseEven = (BrowseEvent)e; string browseId = browseEven.getBrowseId(); string browseName = browseEven.getBrowseName(); string browseType = browseEven.getBrowseType(); long browseDuration = browseEven.getBrowseDuration(); OnBrowseEvent(browseId, browseName, browseType, browseDuration, browseEven.getExtraDic()); break; case JAnalytics.Event.CalculateEventType: CalculateEvent calculateEvent = (CalculateEvent)e; string eventId = calculateEvent.getEventId(); double eventValues = calculateEvent.getEventValued(); OnCalculateEvent(eventId, eventValues, calculateEvent.getExtraDic()); break; case JAnalytics.Event.CountEventType: CountEvent countEvent = (CountEvent)e; OnCountEvent(countEvent.getEventId(), countEvent.getExtraDic()); break; case JAnalytics.Event.LoginEventType: LoginEvent loginEvent = (LoginEvent)e; OnLoginEvent(loginEvent.getLoginMethod(), loginEvent.geLoginSuccess(), loginEvent.getExtraDic()); break; case JAnalytics.Event.PurchaseEventType: PurchaseEvent purchaseEvent = (PurchaseEvent)e; string purchaseGoodsid = purchaseEvent.getPurchaseGoodsid(); string purchaseGoodsName = purchaseEvent.getPurchaseGoodsName(); double purchasePrice = purchaseEvent.getPurchasePrice(); bool purchaseSuccess = purchaseEvent.getPurchaseSuccess(); int purchaseCurrencyUnity = purchaseEvent.getPurchaseCurrencyInt(); string purchaseGoodsType = purchaseEvent.getPurchaseGoodsType(); int purchaseGoodsCount = purchaseEvent.getPurchaseGoodsCount(); OnPurchaseEvent(purchaseGoodsid, purchaseGoodsName, purchasePrice, purchaseSuccess, purchaseCurrencyUnity, purchaseGoodsType, purchaseGoodsCount, purchaseEvent.getExtraDic()); break; case JAnalytics.Event.RegisterEventType: RegisterEvent registerEvent = (RegisterEvent)e; OnRegisterEvent(registerEvent.getRegisterMethod(), registerEvent.getRegisterSuccess(), registerEvent.getExtraDic()); break; } }
public async Task <IOperationToken> BrowseAsync(string serviceType, string domain = "", uint interfaceIndex = 0, object context = null) { await CheckConnectionAsync(); var op = new BrowseOperation(serviceType, domain, interfaceIndex, context); op.BrowseEvent += (s, e) => BrowseEvent?.Invoke(s, e); await _connection.AddAndExecuteSubordinate(op); return(op.Token); }
/// <summary> /// Fills the CurrentItems property for display in ItemsControl /// based view (ListBox, ListView etc.). /// /// This method wraps a parameterized version of the same method /// with a call that contains the standard data field. /// </summary> /// <param name="request"></param> /// <param name="browseEvent">Defines whether a request should result /// in an explicit event relayed to a controller or not.</param> protected FinalBrowseResult PopulateView(BrowseRequest request, bool browseEvent) { //Logger.DebugFormat("PopulateView method"); //Logger.DebugFormat("Populating view for request id: {0} - '{1}'", request.RequestId, request.NewLocation.Path); // This can happen when the viewmodel is configured at start-up // but the current folder is not configured, yet if (request == null) { return(FinalBrowseResult.FromRequest(request, BrowseResult.InComplete)); } IPathModel newPathToNavigateTo = request.NewLocation; bool result = false; IsBrowsing = true; try { if (newPathToNavigateTo != null && browseEvent == true) { BrowseEvent?.Invoke(this, new BrowsingEventArgs(newPathToNavigateTo, true)); } DirectoryInfo cur = new DirectoryInfo(newPathToNavigateTo.Path); if (cur.Exists == false) { return(FinalBrowseResult.FromRequest(request, BrowseResult.InComplete)); } CurrentItemClear(); result = InternalPopulateView(_ParsedFilter, cur, ShowIcons); if (result == true) { SetCurrentLocation(newPathToNavigateTo); return(FinalBrowseResult.FromRequest(request, BrowseResult.Complete)); } return(FinalBrowseResult.FromRequest(request, BrowseResult.InComplete)); } catch (Exception exp) { var bresult = FinalBrowseResult.FromRequest(request, BrowseResult.InComplete); bresult.UnexpectedError = exp; return(bresult); } finally { if (newPathToNavigateTo != null && browseEvent == true) { BrowseEvent?.Invoke(this, new BrowsingEventArgs( newPathToNavigateTo, false, result == true ? BrowseResult.Complete : BrowseResult.InComplete)); } IsBrowsing = false; } }
public static void OnGUI() { str_unity = GUILayout.TextField(str_unity, GUILayout.Width(Screen.width - 80), GUILayout.Height(100)); if (GUILayout.Button("onPageStart", GUILayout.Height(80))) { JAnalyticsBinding.OnPageStart("testOnPage-1"); } if (GUILayout.Button("onPageEnd", GUILayout.Height(80))) { JAnalyticsBinding.OnPageEnd("testOnPage-1"); } if (GUILayout.Button("onPurchaseEvent", GUILayout.Height(80))) { string purchaseGoodsid = "goodsId"; string purchaseGoodsName = "篮球"; double purchasePrice = 300; bool purchaseSuccess = true; Currency purchaseCurrencyUnity = Currency.CNY; string purchaseGoodsType = "sport"; int purchaseGoodsCount = 1; PurchaseEvent eEvent = new PurchaseEvent(purchaseGoodsid, purchaseGoodsName, purchasePrice, purchaseSuccess, purchaseCurrencyUnity, purchaseGoodsType, purchaseGoodsCount); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onBrowseEvent", GUILayout.Height(80))) { string browseId = "browse_id"; string browseName = "深圳热点新闻"; string browseType = "news"; long browseDuration = 30; BrowseEvent eEvent = new BrowseEvent(browseId, browseName, browseType, browseDuration); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onRegisterEvent", GUILayout.Height(80))) { string registerMethod = "sina"; bool registerSuccess = true; RegisterEvent eEvent = new RegisterEvent(registerMethod, registerSuccess); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onLoginEvent", GUILayout.Height(80))) { string loginMethod = "qq"; bool loginSuccess = true; LoginEvent eEvent = new LoginEvent(loginMethod, loginSuccess); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onCalculateEvent", GUILayout.Height(80))) { string eventId = "onCalculateEvent_event_id"; double eventValue = 10.1; CalculateEvent eEvent = new CalculateEvent(eventId, eventValue); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("onCountEvent", GUILayout.Height(80))) { string eventId = "onCountEvent_event_id"; CountEvent eEvent = new CountEvent(eventId); eEvent.addKeyValue("1", "a"); eEvent.addKeyValue("2", "b"); JAnalyticsBinding.OnEvent(eEvent); } if (GUILayout.Button("identifyAccount", GUILayout.Height(80))) { Account account = new Account("AccountAccount"); account.SetName("nnnnn"); account.SetExtraAttr("k1", "v1"); account.SetExtraAttr("k2", null); int sequence = callbackId++; string gameObjectNameBack = gameObject.name; string gameObjectMethodBack = "AccountCallBack"; JAnalyticsCallBack callBack = new JAnalyticsCallBack(sequence, gameObjectNameBack, gameObjectMethodBack); JAnalyticsBinding.IdentifyAccount(account, callBack); } if (GUILayout.Button("detachAccount", GUILayout.Height(80))) { int sequence = callbackId++; string gameObjectNameBack = gameObject.name; string gameObjectMethodBack = "AccountCallBack"; JAnalyticsCallBack callBack = new JAnalyticsCallBack(sequence, gameObjectNameBack, gameObjectMethodBack); JAnalyticsBinding.DetachAccount(callBack); } if (GUILayout.Button("setAnalyticsReportPeriod", GUILayout.Height(80))) { int period = 30; JAnalyticsBinding.SetAnalyticsReportPeriod(period); } }