public static int SavePreset(string TemplateName, string ActiveTheme, string ActiveWidth, List <PresetKeyValue> lstLayouts, int portalID) { List <KeyValue> lstLyts = new List <KeyValue>(); foreach (PresetKeyValue kvp in lstLayouts) { lstLyts.Add(new KeyValue(kvp.Key, kvp.Value)); } PresetInfo PresetObj = new PresetInfo(); PresetObj.ActiveTheme = ActiveTheme; PresetObj.ActiveWidth = ActiveWidth; PresetObj.lstLayouts = lstLyts; string presetPath = Decide.IsTemplateDefault(TemplateName.Trim()) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName); string pagepreset = presetPath + "/" + TemplateConstants.PagePresetFile; presetPath += "/" + "pagepreset.xml"; int presetstatus = 0; try { PresetHelper.WritePreset(presetPath, PresetObj); return(presetstatus); } catch (Exception) { throw; } finally { AppErazer.ClearSysHash(ApplicationKeys.ActivePagePreset + "_" + portalID); SageFrame.Common.CacheHelper.Clear("PresetList"); } }
/// <summary> /// 新規のプリセット情報として保存 /// </summary> /// <param name="presetName"></param> /// <returns></returns> public async Task SaveNewPresetAsync(string presetName) { IsBusy = true; using (new OnDisposeAction(() => IsBusy = false)) { var id = Guid.NewGuid().ToString("D"); var fileName = $"{PresetNameToFileNameRegex.Replace(presetName, "")}_{id}.json"; var filePath = Path.Combine(UserSettingsService.AppSettings.AppDataPath, fileName); try { await FileService.WriteAsync(filePath, ConfigJson, UserSettings.MergeUnknownJsonProperty); var preset = new PresetInfo() { Id = id, Name = presetName, FileName = fileName, }; UserSettings.PresetInfos.Add(preset); CurrentPreset = preset; await UserSettingsService.SaveAsync(); ConfigJson.IsChanged = false; } catch (Exception e) when(e is IOException || e is JsonException) { Trace.TraceInformation($"プリセット{presetName}作成失敗。{filePath}:{e.Message}"); ErrorOccurred?.Invoke(this, new ConfigJsonErrorEventArgs(ConfigJsonErrorEventArgs.Cause.CreatePresetError, e, filePath)); } } }
public void BindValues() { PresetInfo preset = GetPresetDetails; if (preset.ActiveTheme == string.Empty) { preset.ActiveTheme = "default"; } ddlThemes.Items.FindByText(preset.ActiveTheme.ToLower()).Selected = true; if (preset.ActiveWidth == string.Empty) { preset.ActiveWidth = "Wide"; } ddlScreen.Items.FindByText(preset.ActiveWidth.ToLower()).Selected = true; string activeLayout = string.Empty; string pageName = Request.Url.ToString(); SageFrameConfig sfConfig = new SageFrameConfig(); pageName = Path.GetFileNameWithoutExtension(pageName); pageName = pageName.ToLower().Equals("default") ? sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) : pageName; foreach (KeyValue kvp in preset.lstLayouts) { string[] arrLayouts = kvp.Value.Split(','); if (arrLayouts.Contains(pageName)) { activeLayout = kvp.Key; } } if (activeLayout != null && activeLayout != string.Empty) { // ddlLayout.Items.FindByText(string.Format("{0}.ascx", activeLayout.ToLower())).Selected = true; } }
/// <summary> /// Set Active Width of Preset /// </summary> /// <param name="newwidth">Preset Width</param> public void SetActiveWidth(string newwidth) { PresetInfo preset = GetPresetDetails; preset.ActiveWidth = newwidth; Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + GetPortalID] = preset; PresetHelper.UpdatePreset(preset, TemplateName); }
private void IniLoadPresetList() { //파일이 존재하지 않으면? string strPath = System.IO.Directory.GetCurrentDirectory() + "\\presetlist.ini"; bool bExists = File.Exists(strPath); #if false IniFile ini = new IniFile(); if (bExists) { ini.Load(strPath); //for (int i = 0; i < this.presetList.Count(); i++) int i = 0; while (true) { string sectionName = "PRESET_" + i.ToString(); IniFile.IniSection section = ini.GetSection(sectionName); if (section == null) { break; } int id; int.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_ID), out id); string name = ini.GetKeyValue(sectionName, PresetInfo.STR_NAME); int sec; int.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_SEC), out sec); float x; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_X), out x); float y; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_Y), out y); float zoom; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_ZOOM), out zoom); string group = ini.GetKeyValue(sectionName, PresetInfo.STR_GROUP); float panabs; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_PANABS), out panabs); float tiltabs; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_TILTABS), out tiltabs); float panrel; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_PANREL), out panrel); float tiltrel; float.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_TILTREL), out tiltrel); int tardist; int.TryParse(ini.GetKeyValue(sectionName, PresetInfo.STR_TARDIST), out tardist); string tarlat = ini.GetKeyValue(sectionName, PresetInfo.STR_TARLAT); string tarlong = ini.GetKeyValue(sectionName, PresetInfo.STR_TARLONG); string pathimg1 = ini.GetKeyValue(sectionName, PresetInfo.STR_PATHIMG1); string pathimg2 = ini.GetKeyValue(sectionName, PresetInfo.STR_PATHIMG2); PresetInfo presetInfo = new PresetInfo(id, name, sec, x, y, zoom, group, panabs, tiltabs, panrel, tiltrel, tardist, tarlat, tarlong, pathimg1, pathimg2); presetList.Add(presetInfo); i++; } printList(); } #endif }
public static PresetInfo GetPresetDetails(string TemplateName, int PortalID) { string presetPath = Decide.IsTemplateDefault(TemplateName.Trim()) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName); presetPath += "/" + "pagepreset.xml"; PresetInfo objPreset = new PresetInfo(); try { objPreset = PresetHelper.LoadPresetDetails(presetPath); PageController objPageController = new PageController(); List <PageEntity> lstMenu = objPageController.GetMenuFront(PortalID, false); foreach (PageEntity obj in lstMenu) { obj.ChildCount = lstMenu.Count( delegate(PageEntity objMenu) { return(objMenu.ParentID == obj.PageID); } ); } List <string> lstPages = new List <string>(); List <KeyValue> lstLayout = new List <KeyValue>(); foreach (KeyValue kvp in objPreset.lstLayouts) { string[] arrPage = kvp.Value.Split(','); List <string> lstNewPage = new List <string>(); foreach (string page in arrPage) { bool exists = lstMenu.Exists( delegate(PageEntity obj) { return(obj.PageName.TrimStart('-') == page); } ); if (exists || page.ToLower() == "all") { lstNewPage.Add(page); } } if (lstNewPage.Count > 0) { lstLayout.Add(new KeyValue(kvp.Key, string.Join(",", lstNewPage.ToArray()))); } } objPreset.lstLayouts = lstLayout; //PresetHelper.WritePreset(presetPath, objPreset); return(objPreset); } catch (Exception) { throw; } }
public ModInfo(string xmlPath) { var xElement = XElement.Load(xmlPath); Name = (string)xElement.Element("name"); IniName = (string)xElement.Element("ininame"); Namespace = (string)xElement.Element("namespace"); Classname = (string)xElement.Element("classname"); Invoke = (string)xElement.Element("invoke"); if (Namespace != null && Classname != null && Invoke != null) { TypeName = string.Format("{0}.{1}", Namespace, Classname); MethodPath = string.Format("{0}.{1}.{2}", Namespace, Classname, Invoke); } settings = new List <ModSetting>(); foreach (var item in xElement.Element("settings").Elements()) { var setting = new ModSetting(); setting.Type = (string)item.Element("type"); setting.Text = (string)item.Element("text"); setting.Setting = (string)item.Element("setting"); setting.Int = (bool?)item.Element("int"); setting.Min = (float?)item.Element("min"); setting.Max = (float?)item.Element("max"); settings.Add(setting); } presets = new List <PresetInfo>(); var presetElement = xElement.Element("presets"); if (presetElement != null) { foreach (var item in presetElement.Elements()) { var preset = new PresetInfo(); preset.Name = (string)item.Element("name"); preset.PresetSettings = new List <PresetInfo.PresetSetting>(); foreach (var item2 in item.Element("values").Elements()) { var presetSetting = new PresetInfo.PresetSetting(); presetSetting.Setting = (string)item2.Element("setting"); presetSetting.Value = (string)item2.Element("value"); preset.PresetSettings.Add(presetSetting); } presets.Add(preset); } } }
//private Dictionary<string, string> presetList = new Dictionary<string, string>(); void _messageCore_OnPresetQueryReceived(SIPEndPoint remoteEP, PresetInfo preset) { foreach (var item in preset.PresetList) { foreach (var items in item.Items) { this.Invoke(new Action(() => { cbxPreset.Items.Add(items.PresetID); })); //presetList.Add(items.PresetID, items.PresetName); } } //reloadPreset(); }
public void ConvertTest_NotNull() { var input = new PresetInfo() { Name = "Name", }; var target = new PresetNameConverter() { DefaltName = "Default", }; var result = target.Convert(input, null, null, null); Assert.AreEqual("Name", result); }
public PresetInfo LoadActivePagePreset() { PresetInfo presetInfo = new PresetInfo(); if (Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + currentportalID] != null) { presetInfo = (PresetInfo)Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + currentportalID]; } else { presetInfo = PresetHelper.LoadActivePagePreset(activeTemplate, GetPageSEOName(Request.Url.ToString())); Globals.sysHst[ApplicationKeys.ActivePagePreset + "_" + currentportalID] = presetInfo; } return(presetInfo); }
public static List <PresetInfo> LoadActivePresets(string TemplateName) { string presetPath = Decide.IsTemplateDefault(TemplateName) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName); List <PresetInfo> lstActivePresets = new List <PresetInfo>(); string pagepreset = presetPath + "/" + TemplateConstants.PagePresetFile; if (File.Exists(pagepreset)) { lstActivePresets = PresetHelper.ParsePreset(pagepreset, "pagepresets/page"); } else { lstActivePresets.Add(PresetInfo.GetPresetPages("default", "*")); } return(lstActivePresets); }
private static bool TryParsePreset(string[] elements, out PresetInfo info) { info = new PresetInfo(); for (var i = 0; i < Master.N; i++) { var e = elements[i]; /* Each element should either be an integer representing a Y-coordinate * or a skip sign indicating a missing queen. */ if (int.TryParse(e, out var y)) { // A Y-coordinate must not exceed the range. if (y >= 0 && y < Master.N) { info.Y_Coordinates[i] = y; // As soon as we find a valid coordinate, the set can't be empty: info.IsEmpty = false; } else { Events.OnVariableOutOfRange($"Element {i} ({y})", 0, Master.N - 1); return(false); } } else if (e == SkipSign) { info.Y_Coordinates[i] = -1; // If there's at least 1 skip sign then the set is definitely not full: info.IsFull = false; } else { Events.OnPresetElementUnrecognized(i, e); return(false); } } return(true); }
protected void Page_Load(object sender, EventArgs e) { userName = GetUsername; userModuleID = int.Parse(SageUserModuleID); extenstion = SageFrameSettingKeys.PageExtension; IncludeJs("frontpagination", false, "/js/jquery.pagination.js"); IncludeJs("Forntenddialogjs", "/js/jquery.dialogextend.js"); IncludeJs("frontEndJs", "/Modules/Admin/InPageEditing/js/FrontEnd.js"); IncludeCss("FrontEndWidget", "/Modules/Admin/InPageEditing/css/module.css"); portalID = GetPortalID; BindTopStickybar(); if (!IsPostBack) { BindPages(); BindLayout(); BindVariables(); BuildLayoutControl(); BindModuleControls(); BindModuleList(); BindDuckableValue(); } PresetInfo preset = GetPresetDetails; activteWidth = preset.ActiveWidth.ToLower(); SageFrame.Version.SageFrameVersion app = new SageFrame.Version.SageFrameVersion(); string value = SageFrame.Utilities.Config.GetVersionConfigSettingValue("SageFrameVersionLoad"); if (!IsPostBack) { if (value.ToLower() == "true") { showVersion(); } else { hideVersion(); } } }
private void BindVariables() { string referrerurl = string.Empty; if (Request.QueryString["pname"] != null) { pageSEOName = Request.QueryString["pname"].ToString(); foreach (ListItem l in ddlPages.Items) { if (l.Value.Replace("-", " ").Trim() == pageSEOName.Replace("-", " ")) { ddlPages.SelectedValue = l.Value; break; } } } PresetInfo preset = new PresetInfo(); preset = PresetHelper.LoadActivePagePreset(TemplateName, pageSEOName); ddlLayout.SelectedValue = preset.ActiveLayout; layoutName = ddlLayout.SelectedValue; }
protected void btnApply_Click(object sender, EventArgs e) { HttpRuntime.Cache.Remove(CacheKeys.SageFrameJs); HttpRuntime.Cache.Remove(CacheKeys.SageFrameCss); string optimized_path = Server.MapPath(SageFrameConstants.OptimizedResourcePath); IOHelper.DeleteDirectoryFiles(optimized_path, ".js,.css"); if (File.Exists(Server.MapPath(SageFrameConstants.OptimizedCssMap))) { XmlHelper.DeleteNodes(Server.MapPath(SageFrameConstants.OptimizedCssMap), "resourcemaps/resourcemap"); } if (File.Exists(Server.MapPath(SageFrameConstants.OptimizedJsMap))) { XmlHelper.DeleteNodes(Server.MapPath(SageFrameConstants.OptimizedJsMap), "resourcemap/resourcemap"); } PresetInfo preset = new PresetInfo(); preset = PresetHelper.LoadActivePagePreset(TemplateName, GetPageSEOName(Request.Url.ToString())); if (ddlScreen.SelectedItem.ToString() != string.Empty) { preset.ActiveWidth = ddlScreen.SelectedItem.ToString(); } if (ddlThemes.SelectedItem != null && ddlThemes.SelectedItem.ToString() != string.Empty) { preset.ActiveTheme = ddlThemes.SelectedItem.ToString(); } if (ddlLayout.SelectedItem != null && ddlLayout.SelectedItem.ToString() != string.Empty) { preset.ActiveLayout = Path.GetFileNameWithoutExtension(ddlLayout.SelectedItem.ToString()); } List <KeyValue> lstLayouts = preset.lstLayouts; string pageName = Request.Url.ToString(); SageFrameConfig sfConfig = new SageFrameConfig(); pageName = Path.GetFileNameWithoutExtension(pageName); pageName = pageName.ToLower().Equals("default") ? sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) : pageName; bool isNewLayout = false; int oldPageCount = 0; bool isNewPage = false; bool deleteRepeat = false; bool duplicateLayout = false; List <string> pageList = new List <string>(); foreach (KeyValue kvp in lstLayouts) { if (kvp.Key == preset.ActiveLayout) { duplicateLayout = true; } string[] pages = kvp.Value.Split(','); pageList.Add(string.Join(",", pages)); if (pages.Count() == 1 && pages.Contains(pageName)) // for single pagename and if page = currentpageName { kvp.Key = preset.ActiveLayout; } else if (pages.Count() > 1 && pages.Contains(pageName)) // for multiple pagename and if page = currentpageName { isNewLayout = true; //its because we have to insert another layout List <string> lstnewpage = new List <string>(); foreach (string page in pages) { if (page.ToLower() != pageName.ToLower()) { lstnewpage.Add(page); } } kvp.Value = string.Join(",", lstnewpage.ToArray()); pageList.Add(kvp.Value); } else { oldPageCount++; } if (kvp.Value == "All" && kvp.Key == preset.ActiveLayout) { deleteRepeat = true; } } if (lstLayouts.Count == oldPageCount) { isNewPage = true; } List <KeyValue> lstNewLayouts = new List <KeyValue>(); if (isNewPage) { bool isAppended = false; foreach (KeyValue kvp in lstLayouts) { if (kvp.Key == preset.ActiveLayout) { if (kvp.Value.ToLower() != "all") { kvp.Value += "," + pageName; } isAppended = true; } lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value)); } if (!isAppended) { lstNewLayouts.Add(new KeyValue(preset.ActiveLayout, pageName)); } lstLayouts = lstNewLayouts; } else if (isNewLayout) { bool isAppended = false; bool isAll = false; foreach (KeyValue kvp in lstLayouts) { if (kvp.Key == preset.ActiveLayout) { if (kvp.Value.ToLower() != "all") { kvp.Value += "," + pageName; isAll = true; } isAppended = true; } lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value)); } if (!isAppended && !isAll) { lstNewLayouts.Add(new KeyValue(preset.ActiveLayout, pageName)); } lstLayouts = lstNewLayouts; } else if (deleteRepeat) { foreach (KeyValue kvp in lstLayouts) { if (kvp.Value.ToLower() != pageName.ToLower()) { lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value)); } } lstLayouts = lstNewLayouts; } else if (duplicateLayout) { string key = preset.ActiveLayout; List <string> pages = new List <string>(); foreach (KeyValue kvp in lstLayouts) { if (kvp.Key.ToLower() != preset.ActiveLayout.ToLower()) { lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value)); } else { pages.Add(kvp.Value); } } lstNewLayouts.Add(new KeyValue(key, string.Join(",", pages.ToArray()))); lstLayouts = lstNewLayouts; } preset.lstLayouts = lstLayouts; string presetPath = Decide.IsTemplateDefault(TemplateName.Trim()) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName); string pagepreset = presetPath + "/" + TemplateConstants.PagePresetFile; presetPath += "/" + "pagepreset.xml"; AppErazer.ClearSysHash(ApplicationKeys.ActivePagePreset + "_" + GetPortalID); PresetHelper.WritePreset(presetPath, preset); SageFrame.Common.CacheHelper.Clear("PresetList"); Response.Redirect(Request.Url.OriginalString); }
protected void ddlLayout_SelectedIndexChanged(object sender, EventArgs e) { PresetInfo preset = new PresetInfo(); string pageName = ddlPages.SelectedValue; pageName = Regex.Replace(pageName, "--+", ""); preset = PresetHelper.LoadActivePagePreset(TemplateName, GetPageSEOName(Request.Url.ToString())); List <KeyValue> lstLayouts = preset.lstLayouts; preset.ActiveLayout = ddlLayout.SelectedValue; bool isNewLayout = false; int oldPageCount = 0; bool isNewPage = false; bool deleteRepeat = false; bool duplicateLayout = false; List <string> pageList = new List <string>(); foreach (KeyValue kvp in lstLayouts) { if (kvp.Key == preset.ActiveLayout) { duplicateLayout = true; } string[] pages = kvp.Value.Split(','); pageList.Add(string.Join(",", pages)); if (pages.Count() == 1 && pages.Contains(pageName)) // for single pagename and if page = currentpageName { kvp.Key = preset.ActiveLayout; } else if (pages.Count() > 1 && pages.Contains(pageName)) // for multiple pagename and if page = currentpageName { isNewLayout = true; //its because we have to insert another layout List <string> lstnewpage = new List <string>(); foreach (string page in pages) { if (page.ToLower() != pageName.ToLower()) { lstnewpage.Add(page); } } kvp.Value = string.Join(",", lstnewpage.ToArray()); pageList.Add(kvp.Value); } else { oldPageCount++; } if (kvp.Value == "All" && kvp.Key == preset.ActiveLayout) { deleteRepeat = true; } } if (lstLayouts.Count == oldPageCount) { isNewPage = true; } List <KeyValue> lstNewLayouts = new List <KeyValue>(); if (isNewPage) { bool isAppended = false; foreach (KeyValue kvp in lstLayouts) { if (kvp.Key == preset.ActiveLayout) { if (kvp.Value.ToLower() != "all") { kvp.Value += "," + pageName; } isAppended = true; } lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value)); } if (!isAppended) { lstNewLayouts.Add(new KeyValue(preset.ActiveLayout, pageName)); } lstLayouts = lstNewLayouts; } else if (isNewLayout) { bool isAppended = false; bool isAll = false; foreach (KeyValue kvp in lstLayouts) { if (kvp.Key == preset.ActiveLayout) { if (kvp.Value.ToLower() != "all") { kvp.Value += "," + pageName; isAll = true; } isAppended = true; } lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value)); } if (!isAppended && !isAll) { lstNewLayouts.Add(new KeyValue(preset.ActiveLayout, pageName)); } lstLayouts = lstNewLayouts; } else if (deleteRepeat) { foreach (KeyValue kvp in lstLayouts) { if (kvp.Value.ToLower() != pageName.ToLower()) { lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value)); } } lstLayouts = lstNewLayouts; } else if (duplicateLayout) { string key = preset.ActiveLayout; List <string> pages = new List <string>(); foreach (KeyValue kvp in lstLayouts) { if (kvp.Key.ToLower() != preset.ActiveLayout.ToLower()) { lstNewLayouts.Add(new KeyValue(kvp.Key, kvp.Value)); } else { pages.Add(kvp.Value); } } lstNewLayouts.Add(new KeyValue(key, string.Join(",", pages.ToArray()))); lstLayouts = lstNewLayouts; } preset.lstLayouts = lstLayouts; string presetPath = Decide.IsTemplateDefault(TemplateName.Trim()) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName); string pagepreset = presetPath + "/" + TemplateConstants.PagePresetFile; presetPath += "/" + "pagepreset.xml"; AppErazer.ClearSysHash(ApplicationKeys.ActivePagePreset + "_" + GetPortalID); PresetHelper.WritePreset(presetPath, preset); HttpRuntime.Cache.Remove(CacheKeys.SageFrameJs); HttpRuntime.Cache.Remove(CacheKeys.SageFrameCss); SageFrame.Common.CacheHelper.Clear("PresetList"); pageSEOName = ddlPages.SelectedValue.TrimStart('-'); layoutName = ddlLayout.SelectedValue; //BuildLayoutControl(); //BindModuleControls(); string redirectUrl = BuidRedirectURL(pageSEOName); Response.Redirect(redirectUrl); }
/// <summary> /// Message消息处理 /// </summary> /// <param name="localEP">本地终结点</param> /// <param name="remoteEP">远程终结点</param> /// <param name="request">sip请求</param> private void MessageHandle(SIPEndPoint localEP, SIPEndPoint remoteEP, SIPRequest request) { SendResponse(localEP, remoteEP, request); //心跳消息 KeepAlive keepAlive = KeepAlive.Instance.Read(request.Body); if (keepAlive != null && keepAlive.CmdType == CommandType.Keepalive) { KeepaliveHandle(localEP, remoteEP, request, keepAlive); return; } //设备目录 Catalog catalog = Catalog.Instance.Read(request.Body); if (catalog != null && catalog.CmdType == CommandType.Catalog) { CatalogHandle(localEP, remoteEP, request, catalog); return; } //录像查询 RecordInfo record = RecordInfo.Instance.Read(request.Body); if (record != null && record.CmdType == CommandType.RecordInfo) { RecordInfoHandle(localEP, remoteEP, request, record); return; } //媒体通知 MediaStatus mediaStatus = MediaStatus.Instance.Read(request.Body); if (mediaStatus != null && mediaStatus.CmdType == CommandType.MediaStatus) { _nodeMonitorService[request.Header.From.FromURI.User].ByeVideoReq(); //取值121表示历史媒体文件发送结束(回放结束/下载结束) //NotifyType未找到相关文档标明所有该类型值,暂时只处理121 if (mediaStatus.NotifyType.Equals("121")) { OnMediaStatusReceived?.Invoke(remoteEP, mediaStatus); } return; } //设备状态查询 DeviceStatus deviceStatus = DeviceStatus.Instance.Read(request.Body); if (deviceStatus != null && deviceStatus.CmdType == CommandType.DeviceStatus) { OnDeviceStatusReceived?.Invoke(remoteEP, deviceStatus); return; } //设备信息查询 DeviceInfo deviceInfo = DeviceInfo.Instance.Read(request.Body); if (deviceInfo != null && deviceInfo.CmdType == CommandType.DeviceInfo) { OnDeviceInfoReceived?.Invoke(remoteEP, deviceInfo); return; } //设备配置查询 DeviceConfigDownload devDownload = DeviceConfigDownload.Instance.Read(request.Body); if (devDownload != null && devDownload.CmdType == CommandType.ConfigDownload) { OnDeviceConfigDownloadReceived?.Invoke(remoteEP, devDownload); } //预置位查询 PresetInfo preset = PresetInfo.Instance.Read(request.Body); if (preset != null && preset.CmdType == CommandType.PresetQuery) { OnPresetQueryReceived?.Invoke(remoteEP, preset); } //报警通知 Alarm alarm = Alarm.Instance.Read(request.Body); if (alarm != null && alarm.CmdType == CommandType.Alarm)//单兵上报经纬度 { OnAlarmReceived?.Invoke(alarm); } }
internal void OnPresetQueryReceived(SIPEndPoint arg1, PresetInfo arg2) { throw new NotImplementedException(); }
private static void CreatePresetPopupMenu(MonoBehaviour owner, ClothParams clothParam) { // コンポーネントにより検索するプリセット名を変更する string presetTypeName = GetComponentTypeName(owner); if (string.IsNullOrEmpty(presetTypeName)) { return; } var guidArray = AssetDatabase.FindAssets($"{presetTypeName} t:" + nameof(TextAsset)); if (guidArray == null) { return; } Dictionary <string, List <PresetInfo> > dict = new Dictionary <string, List <PresetInfo> >(); foreach (var guid in guidArray) { var filePath = AssetDatabase.GUIDToAssetPath(guid); // json確認 if (filePath.EndsWith(".json") == false) { continue; } var text = AssetDatabase.LoadAssetAtPath <TextAsset>(filePath); if (text) { var info = new PresetInfo(); info.presetPath = filePath; var fname = Path.GetFileNameWithoutExtension(filePath); fname = fname.Replace(presetTypeName, ""); if (fname.StartsWith("_")) { fname = fname.Remove(0, 1); // 頭の_は削除する } info.presetName = fname; info.text = text; // ディレクトリごとに記録する var dirName = Path.GetDirectoryName(filePath); if (dict.ContainsKey(dirName) == false) { dict.Add(dirName, new List <PresetInfo>()); } dict[dirName].Add(info); } } // ポップアップメニューの作成 // ディレクトリごとにセパレータで分けて表示する var menu = new GenericMenu(); int line = 0; foreach (var kv in dict) { if (line > 0) { menu.AddSeparator(""); } foreach (var info in kv.Value) { var textAsset = info.text; var presetName = info.presetName; var presetPath = info.presetPath; menu.AddItem(new GUIContent(presetName), false, () => { var json = textAsset.text; //Debug.Log(json); // load Debug.Log("Load preset file:" + presetPath); LoadClothParam(owner, clothParam, json); Debug.Log("Complete."); }); } line++; } menu.ShowAsContext(); }