// 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); }
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); }