Esempio n. 1
0
        // Token: 0x06001B1C RID: 6940 RVA: 0x00066D3C File Offset: 0x00064F3C
        private static InstantMessageOperationError InitializeProvider()
        {
            Stopwatch stopwatch = Stopwatch.StartNew();
            InstantMessageOperationError result;

            try
            {
                result = InstantMessageProvider.Initialize();
            }
            finally
            {
                stopwatch.Stop();
                OwaApplication.GetRequestDetailsLogger.Set(InstantMessageSignIn.LogMetadata.InitializeProvider, stopwatch.ElapsedMilliseconds);
            }
            return(result);
        }
Esempio n. 2
0
        public static InstantMessageOperationError Initialize()
        {
            if (InstantMessageProvider.isInitialized)
            {
                return(InstantMessageOperationError.Success);
            }
            InstantMessageOperationError result;

            try
            {
                if (!Monitor.TryEnter(InstantMessageProvider.initializationLock))
                {
                    result = InstantMessageOperationError.InitializationInProgress;
                }
                else if (InstantMessageProvider.IsInitialized)
                {
                    result = InstantMessageOperationError.Success;
                }
                else
                {
                    Stopwatch stopwatch = Stopwatch.StartNew();
                    InstantMessagingConfiguration instantMessagingConfiguration = null;
                    try
                    {
                        bool appSetting = BaseApplication.GetAppSetting <bool>("EnableIMForOwaPremium", false);
                        if (appSetting)
                        {
                            ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "Globals.Initialize: OWA2 Instant Messaging integration is disabled by web.config.");
                            return(InstantMessageOperationError.NotEnabled);
                        }
                        if (!VdirConfiguration.Instance.InstantMessagingEnabled)
                        {
                            return(InstantMessageOperationError.NotEnabled);
                        }
                        instantMessagingConfiguration = InstantMessagingConfiguration.GetInstance(VdirConfiguration.Instance);
                        if (!instantMessagingConfiguration.CheckConfiguration())
                        {
                            return(InstantMessageOperationError.NotConfigured);
                        }
                    }
                    finally
                    {
                        stopwatch.Stop();
                        OwaApplication.GetRequestDetailsLogger.Set(InstantMessageSignIn.LogMetadata.CheckConfiguration, stopwatch.ElapsedMilliseconds);
                    }
                    if (InstantMessageProvider.Initialize(instantMessagingConfiguration.ServerName, instantMessagingConfiguration.PortNumber, () => Globals.ApplicationTime, Globals.ActivityBasedPresenceDuration, Globals.ArePerfCountersEnabled))
                    {
                        ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "Globals.Initialize: Success!");
                        result = InstantMessageOperationError.Success;
                    }
                    else
                    {
                        ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "Globals.Initialize: Initialization failed.");
                        result = InstantMessageOperationError.NotConfigured;
                    }
                }
            }
            finally
            {
                if (Monitor.IsEntered(InstantMessageProvider.initializationLock))
                {
                    Monitor.Exit(InstantMessageProvider.initializationLock);
                }
            }
            return(result);
        }