// Token: 0x06000A1E RID: 2590 RVA: 0x000232CE File Offset: 0x000214CE
 internal DeliverySuccessNotification(InstantMessageOCSProvider provider, IIMModality context, int messageId, RequestDetailsLogger logger)
 {
     this.Provider  = provider;
     this.Context   = context;
     this.MessageId = messageId;
     this.Logger    = logger;
 }
        public InstantMessageOperationError StartProvider(MailboxSession session)
        {
            ExTraceGlobals.InstantMessagingTracer.TraceDebug((long)this.GetHashCode(), "InstantMessageManager.StartProvider.");
            if ((this.provider == null || this.provider.IsDisposed) && this.userContext.InstantMessageType == InstantMessagingTypeOptions.Ocs)
            {
                this.Subscribe("InstantMessageNotification");
                Stopwatch stopwatch = Stopwatch.StartNew();
                this.provider = InstantMessageOCSProvider.Create(this.userContext, this.notifier);
                stopwatch.Stop();
                OwaApplication.GetRequestDetailsLogger.Set(InstantMessageSignIn.LogMetadata.CreateProvider, stopwatch.ElapsedMilliseconds);
            }
            if (this.provider == null)
            {
                return(InstantMessageOperationError.UnableToCreateProvider);
            }
            Stopwatch stopwatch2 = Stopwatch.StartNew();

            this.Provider.EstablishSession();
            stopwatch2.Stop();
            OwaApplication.GetRequestDetailsLogger.Set(InstantMessageSignIn.LogMetadata.EstablishSession, stopwatch2.ElapsedMilliseconds);
            Stopwatch stopwatch3 = Stopwatch.StartNew();

            this.Provider.GetExpandedGroups(session);
            stopwatch3.Stop();
            OwaApplication.GetRequestDetailsLogger.Set(InstantMessageSignIn.LogMetadata.GetExpandedGroups, stopwatch3.ElapsedMilliseconds);
            Stopwatch stopwatch4 = Stopwatch.StartNew();

            this.ResetPresence(true);
            stopwatch4.Stop();
            OwaApplication.GetRequestDetailsLogger.Set(InstantMessageSignIn.LogMetadata.ResetPresence, stopwatch4.ElapsedMilliseconds);
            return(InstantMessageOperationError.Success);
        }
 internal void RegisterDeliverySuccessNotification(InstantMessageOCSProvider provider, IIMModality context, int messageId, RequestDetailsLogger logger)
 {
     lock (this.deliverySuccessNotifications)
     {
         this.deliverySuccessNotifications.Add(new DeliverySuccessNotification(provider, context, messageId, logger));
     }
 }
Exemple #4
0
 private static bool Initialize(string ocsServerName, int imPortNumber, Func <long> getElapsedMilliseconds, int activityBasedPresenceDuration, bool arePerfCountersEnabled)
 {
     InstantMessageProvider.OcsServerName                 = ocsServerName;
     InstantMessageProvider.IMPortNumber                  = imPortNumber;
     InstantMessageProvider.GetElapsedMilliseconds        = getElapsedMilliseconds;
     InstantMessageProvider.ActivityBasedPresenceDuration = activityBasedPresenceDuration;
     InstantMessageProvider.ArePerfCountersEnabled        = arePerfCountersEnabled;
     InstantMessageProvider.XsoFactory    = new XSOFactory();
     InstantMessageProvider.isInitialized = InstantMessageOCSProvider.InitializeProvider();
     return(InstantMessageProvider.isInitialized);
 }
Exemple #5
0
 internal void ExecuteApplicationEnd(object sender, EventArgs e)
 {
     Tokenizer.ReleaseWordBreakers();
     InstantMessageOCSProvider.DisposeEndpointManager();
     if (TranscodingTaskManager.IsInitialized)
     {
         TranscodingTaskManager.StopTranscoding();
     }
     OwaConfigurationManager.ShutDownConfigurationManager();
     PerformanceCounterManager.ArePerfCountersEnabled = false;
     Globals.UnloadOwaSettings();
 }
Exemple #6
0
 private void StartOcsProvider()
 {
     this.provider = InstantMessageOCSProvider.Create(this.userContext, this.payload);
 }
Exemple #7
0
 public static void DisposeProvider()
 {
     InstantMessageOCSProvider.DisposeEndpointManager();
 }
        private void ReadOcsServerSettings()
        {
            string value = ConfigurationManager.AppSettings["EnableIMForOwaPremium"];
            bool   flag  = false;
            bool   flag2;

            if (!string.IsNullOrWhiteSpace(value) && bool.TryParse(value, out flag2))
            {
                flag = flag2;
            }
            if (!flag)
            {
                ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "Globals.ReadOcsServerSettings. OWA Premium Instant Messaging integration is disabled.");
                return;
            }
            int    mtlsPortNumber = -1;
            bool   flag3          = true;
            bool   flag4          = true;
            string text           = string.Empty;

            ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "Globals.ReadOcsServerSettings");
            if (OwaConfigurationManager.Configuration != null)
            {
                this.ocsServerName = OwaConfigurationManager.Configuration.InstantMessagingServerName;
                if (string.IsNullOrEmpty(this.ocsServerName))
                {
                    ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "Instant Messaging Server name is set to null or empty on the OWA Virtual Directory object.");
                    flag3 = false;
                }
                text = OwaConfigurationManager.Configuration.InstantMessagingCertificateThumbprint;
                if (string.IsNullOrEmpty(text))
                {
                    ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "Instant Messaging Certificate Thumbprint is null or empty on the OWA Virtual Directory object.");
                    flag4 = false;
                }
            }
            if (!flag3 || !flag4)
            {
                if (OwaConfigurationManager.Configuration != null && OwaConfigurationManager.Configuration.InstantMessagingType == InstantMessagingTypeOptions.Ocs)
                {
                    if (!flag3)
                    {
                        OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_ErrorIMServerNameInvalid);
                    }
                    if (!flag4)
                    {
                        OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_ErrorIMCertificateThumbprintInvalid);
                    }
                }
                return;
            }
            InstantMessageCertUtils.GetIMCertInfo(text, out this.certificateIssuer, out this.certificateSerial);
            if (string.IsNullOrEmpty(this.certificateIssuer))
            {
                ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "IM Certificate Issuer is null.");
                return;
            }
            if (this.certificateSerial == null)
            {
                ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "IM Certificate Serial is null.");
                return;
            }
            string text2 = ConfigurationManager.AppSettings["IMPortNumber"];
            int    num;

            if (!string.IsNullOrEmpty(text2) && int.TryParse(text2, out num) && num >= 0)
            {
                mtlsPortNumber = num;
            }
            InstantMessageOCSProvider.InitializeEndpointManager(this.certificateIssuer, this.certificateSerial, mtlsPortNumber);
        }
Exemple #9
0
 // Token: 0x06000357 RID: 855 RVA: 0x0000D414 File Offset: 0x0000B614
 internal void ExecuteApplicationEnd(object sender, EventArgs e)
 {
     Tokenizer.ReleaseWordBreakers();
     InstantMessageOCSProvider.DisposeEndpointManager();
 }