Beispiel #1
0
        /// <summary>
        /// Adds a capability to the correct collections and calls Send()
        /// </summary>
        public static void AddCapabilitySender(ICapabilitySender cs)
        {
            if (capabilitySenders.Contains(cs.ID))
            {
                throw new Exception("CapabilitySender already exists - " + cs.Name);
            }

            if (capabilities.Contains(cs.ID))
            {
                throw new Exception("Capabilities collection already contains - " + cs.Name);
            }

            // Update collections
            capabilitySenders.Add(cs.ID, cs);
            capabilities.Add(cs.ID, cs);
        }
Beispiel #2
0
 private static void SendCS(ICapabilitySender cs)
 {
     try
     {
         cs.Send();
     }
     catch (ThreadAbortException) {}
     catch (Exception e)
     {
         eventLog.WriteEntry("CapabilitySender: " + cs.ToString() + "; " + e.ToString(), EventLogEntryType.Error, 18);
     }
 }
Beispiel #3
0
 private static void SendCS(ICapabilitySender cs)
 {
     try
     {
         cs.Send();
     }
     catch (ThreadAbortException) {}
     catch (Exception e)
     {
         eventLog.WriteEntry(string.Format(CultureInfo.CurrentCulture, Strings.CapabilitySender, cs.ToString(), 
             e.ToString()), EventLogEntryType.Error, 18);
     }
 }
        static void JoinAndSend()
        {
            #region Validate Inputs
            if (ConfigurationManager.AppSettings["MSR.LST.ConferenceXP.PartSim.JoinAndSend.OtherCapabilityName"] == null)
            {
                Console.WriteLine(Strings.MustSpecifyAnOtherCapabilityName);
                Console.WriteLine(Strings.ValidOtherCapabilitySenders);
                foreach (string s in Conference.OtherCapabilitySenders)
                {
                    Console.WriteLine(s);
                }
                return;
            }
            string otherCapabilitySenderName = ConfigurationManager.AppSettings["MSR.LST.ConferenceXP.PartSim.JoinAndSend.OtherCapabilityName"];

            bool found = false;
            foreach (string s in Conference.OtherCapabilitySenders)
            {
                if (s == otherCapabilitySenderName)
                {
                    found = true;
                    break;
                }
            }
            if (found == false)
            {
                Console.WriteLine(string.Format(CultureInfo.CurrentCulture,
                                                Strings.UnableToFindOtherCapabilitySender, otherCapabilitySenderName));
                Console.WriteLine(Strings.ValidOtherCapabilitySenders);
                foreach (string s in Conference.OtherCapabilitySenders)
                {
                    Console.WriteLine(s);
                }
                return;
            }
            #endregion

            // Hook CapabilitySending so we can autoposition the window
            Conference.CapabilitySending += new CapabilitySendingEventHandler(RestoreCapabilitySavedPosition);
            Conference.AutoPosition       = Conference.AutoPositionMode.None;

            Console.WriteLine(Strings.StartingJoinAndSend);

            JoinVenue();
            Console.WriteLine(string.Format(CultureInfo.CurrentCulture, Strings.JoinedVenue0As1, Conference.ActiveVenue.Name, Conference.LocalParticipant.Name));

            ICapabilitySender cs = Conference.CreateCapabilitySender(otherCapabilitySenderName);
            Console.WriteLine(string.Format(CultureInfo.CurrentCulture, Strings.StartedOtherCapabilitySender,
                                            otherCapabilitySenderName));

            Console.WriteLine(Strings.PressEnterToSaveSendingWindowPosition);
            Console.ReadLine();
            if (cs.IsSending)
            {
                if (cs is ICapabilityWindow)
                {
                    Console.WriteLine(string.Format(CultureInfo.CurrentCulture, Strings.SavingWindowPosition,
                                                    cs.Name));
                    SaveCapabilityPosition((ICapabilityWindow)cs);
                }
                else
                {
                    Console.WriteLine(string.Format(CultureInfo.CurrentCulture,
                                                    Strings.CapabilitySenderDoesNotImplementICapabilityWindow, cs.Name));
                }
                return;
            }
        }
Beispiel #5
0
        /// <summary>
        /// Adds a capability to the correct collections and calls Send()
        /// </summary>
        public static void AddCapabilitySender(ICapabilitySender cs)
        {
            if (capabilitySenders.Contains(cs.ID))
            {
                throw new Exception(string.Format(CultureInfo.CurrentCulture, Strings.CapabilitySenderAlreadyExists, cs.Name));
            }

            if (capabilities.Contains(cs.ID))
            {
                throw new Exception(string.Format(CultureInfo.CurrentCulture, 
                    Strings.CapabilitiesCollectionAlreadyContains, cs.Name));
            }

            // Update collections
            capabilitySenders.Add(cs.ID, cs);
            capabilities.Add(cs.ID, cs);
        }