Пример #1
0
 /// <summary>
 /// Construtor opcional para aplicação fornecer tanto o consumidor quanto o observador da sessão.
 /// <para>Esse construtor é opcional porque a aplicação sempre pode adicionar outros consumidores ou outros observadores no <see cref="CollaborationSession"/> quando inicia a colaboração através do <see cref="EasyCollaboration.StartCollaboration()"/>.</para>
 /// </summary>
 /// <param name="context">contexto do OpenBus, objeto responsável pelo gerenciamento de conexões</param>
 /// <param name="consumer">consumidor do canal de eventos</param>
 /// <param name="observer">observador da sessão de colaboração</param>
 /// <exception cref="ArgumentException">caso o <c>consumer</c> não implemente <see cref="MarshalByRefObject"/> além da interface <see cref="EventConsumer"/></exception>
 /// <exception cref="ArgumentException">caso o <c>observer</c> não implemente <see cref="MarshalByRefObject"/> além da interface <see cref="CollaborationObserver"/></exception>
 public EasyCollaboration(OpenBusContext context, EventConsumer consumer, CollaborationObserver observer)
     : this(context, observer)
 {
     if ((consumer != null) && !(consumer is MarshalByRefObject))
     {
         throw new ArgumentException("EventConsumer object must implement MarshalByRefObject also", "consumer");
     }
     _consumer = consumer;
 }
Пример #2
0
 /// <summary>
 /// Construtor opcional para aplicação fornecer um objeto para observação da sessão.
 /// <para>Esse construtor é opcional porque a aplicação sempre pode adicionar outros consumidores ou outros observadores no <see cref="CollaborationSession"/> quando inicia a colaboração através do <see cref="EasyCollaboration.StartCollaboration()"/>.</para>
 /// </summary>
 /// <param name="context">contexto do OpenBus, objeto responsável pelo gerenciamento de conexões</param>
 /// <param name="observer">observador da sessão de colaboração</param>
 /// <exception cref="ArgumentException">caso o <c>observer</c> não implemente <see cref="MarshalByRefObject"/> além da interface <see cref="CollaborationObserver"/></exception>
 public EasyCollaboration(OpenBusContext context, CollaborationObserver observer)
     : this(context)
 {
     if ((observer != null) && !(observer is MarshalByRefObject))
     {
         throw new ArgumentException("CollaborationObserver object must implement MarshalByRefObject also", "observer");
     }
     _observer = observer;
 }
Пример #3
0
 public void ExitCollaboration()
 {
     lock (_locker)
     {
         try
         {
             DeactivateConsumer();
             DeactivateObserver();
             Logger.Info("Collaboration finished");
         }
         finally
         {
             _subsId     = 0;
             _obsId      = 0;
             _theSession = null;
             _consumer   = null;
             _observer   = null;
             _collabs    = null;
             _sessions   = null;
         }
     }
 }
Пример #4
0
 /// <summary>
 /// Construtor padrão, nesse caso a biblioteca vai usar implementações
 /// básicas de <see cref="EventConsumer"/> e <see cref="CollaborationObserver"/>.
 /// <seealso cref="EasyCollaboration.Consumer"/>
 /// </summary>
 /// <param name="context">contexto do OpenBus, objeto responsável pelo gerenciamento de conexões</param>
 public EasyCollaboration(OpenBusContext context)
 {
     _context  = context;
     _observer = new EasyCollaboration.Observer();
     _consumer = new EasyCollaboration.Consumer();
 }