CSharpRTMP.Core.ClientApplicationManager.RegisterApplication C# (CSharp) Метод

RegisterApplication() публичный статический Метод

public static RegisterApplication ( this pClientApplication ) : bool
pClientApplication this
Результат bool
        public static bool RegisterApplication(this BaseClientApplication pClientApplication)
        {
            if (pClientApplication.Id == 0)
            {
                if (IsSlave)
                {
                    pClientApplication.Id = ClusterApplication.GetProtocolHandler<SlaveClusterAppProtocolHandler>().GetAppId(pClientApplication.Name);
                }
                else
                {
                    pClientApplication.Id = ++BaseClientApplication._idGenerator;
                    ClusterApplication.SOManager["appList"][pClientApplication.Name] = pClientApplication.Id;
                    ClusterApplication.SOManager["appList"].Track();
                }
            }
            Logger.INFO("RegisterApplication:{0}({1})", pClientApplication.Name, pClientApplication.Id);
            if (ApplicationById.ContainsKey(pClientApplication.Id))
            {
                Logger.FATAL("Client application with id {0} already registered", pClientApplication.Id);
                return false;
            }
            if (ApplicationByName.ContainsKey(pClientApplication.Name))
            {
                Logger.FATAL("Client application with name `{0}` already registered", pClientApplication.Name);
                return false;
            }
            if (pClientApplication.Aliases.Any(x => ApplicationByName.ContainsKey(x)))
            {
                Logger.FATAL("Client application with alias `{0}` already registered", pClientApplication.Name);
                return false;
            }
            if(pClientApplication.Id != 0)
                ApplicationById[pClientApplication.Id] = pClientApplication;
            ApplicationByName[pClientApplication.Name] = pClientApplication;
            //foreach (var aliases in pClientApplication.Aliases)
            //    ApplicationByName[aliases] = pClientApplication;
            if (pClientApplication.IsDefault) DefaultApplication = pClientApplication;
            return true;
        }