public static void Test() { AdapterProperties ap = new AdapterProperties(queuenmae, "."); QListener listener = new QListener(ap); listener.Start(); }
/// <summary> /// Initializes a new <see cref="SocketSubmissionAdapter"/>. /// </summary> /// <param name="apiClient">The <see cref="DblClient"/> for this <see cref="SocketSubmissionAdapter"/> to use.</param> /// <param name="client">The <see cref="BaseDiscordClient"/> for this <see cref="SocketSubmissionAdapter"/> to use.</param> /// <param name="properties">The properties of this <see cref="SocketSubmissionAdapter"/>.</param> public SocketSubmissionAdapter(DblClient apiClient, BaseSocketClient client, AdapterProperties properties = null) { if (apiClient.CurrentUserId != client.CurrentUser.Id) { throw new ArgumentException("The DblClient must reference the specified current user in the IDiscordClient"); } ApiClient = apiClient; Client = client; properties = properties ?? AdapterProperties.Default; Interval = properties.Interval; RunMode = properties.RunMode; Message = properties.Message; if (RunMode == AdapterRunMode.Async) { Timer = new Timer(UpdateInternal, this, Interval, Interval); } else { Client.JoinedGuild += UpdateAsync; Client.LeftGuild += UpdateAsync; } }
///// <summary> ///// Initialize the listener handler for multiple adapters using <see cref="AdapterProperties"/> properties. ///// </summary> ///// <param name="lpArray"></param> //public ListenerHandler(AdapterProperties[] lpArray) //{ // if (lpArray == null) // { // throw new ArgumentNullException("ListenerProperties.lpArray"); // } // listeners = new List<Listener>(); // foreach (var lp in lpArray) // { // listeners.Add(CreateListener(lp)); // } //} /// <summary> /// Initialize the listener handler using <see cref="AdapterProperties"/> property. /// </summary> /// <param name="lp"></param> public ListenerHandler(AdapterProperties adapter) { if (adapter == null) { throw new ArgumentNullException("ListenerProperties.adapter"); } //if (adapter.IsTopic) // SessionManager.TopicDispatcher.Add(new TopicListener(adapter)); //else // SessionManager.QueueDispatcher.Add(new QueueListener(adapter)); listeners = new List <Listener>(); listeners.Add(CreateListener(adapter)); }
/// <summary> /// Initializes a new <see cref="SubmissionAdapter"/>. /// </summary> /// <param name="apiClient">The <see cref="DblClient"/> for this <see cref="SubmissionAdapter"/> to use.</param> /// <param name="client">The <see cref="BaseDiscordClient"/> for this <see cref="SubmissionAdapter"/> to use.</param> /// <param name="properties">The properties of this <see cref="SubmissionAdapter"/> (<see cref="AdapterProperties.RunMode"/> is omitted).</param> public SubmissionAdapter(DblClient apiClient, IDiscordClient client, AdapterProperties properties = null) { if (apiClient.CurrentUserId != client.CurrentUser.Id) { throw new ArgumentException("The DblClient must reference the specified current user in the IDiscordClient"); } ApiClient = apiClient; Client = client; properties = properties ?? AdapterProperties.Default; Interval = properties.Interval; Message = properties.Message; Timer = new Timer(UpdateInternal, this, Interval, Interval); }
internal Listener(IListenerHandler owner, AdapterProperties channel) { if (channel == null) { throw new ArgumentNullException("channel"); } if (channel.Source == null) { throw new ArgumentNullException("channel.Source"); } _Owner = owner; _Source = channel.Source; _TransferTo = channel.TransferTo; //_ServerName = channel.ServerName; //_QueueName = channel.Source; _Interval = channel.Interval; _ConnectTimeout = channel.ConnectTimeout; _WorkerCount = channel.WorkerCount; _Action = channel.TargetAction; _AdapterOperation = channel.OperationType; }
///// <summary> ///// Initialize the listener handler for local queue. ///// </summary> ///// <param name="queueName"></param> ///// <param name="serverName"></param> //public ListenerHandler(string queueName, string serverName = ".") //{ // if (string.IsNullOrEmpty(queueName)) // { // throw new ArgumentNullException("queueName"); // } // AdapterProperties lp = new AdapterProperties(queueName, serverName); // listeners.Add(CreateListener(lp)); //} #endregion /// <summary> /// Create a new listener using <see cref="AdapterProperties"/> properties. /// </summary> /// <param name="adapter"></param> /// <returns></returns> protected abstract Listener CreateListener(AdapterProperties adapter);
public QListener(AdapterProperties lp) : base(lp) { }
internal ListenerQ(IListenerHandler owner, AdapterProperties properties) : base(owner, properties) { _Adapter = properties.GetAdapter(); _Adapter.ConnectTimeout = properties.ConnectTimeout; }
//public QueueListener(string queueName, string serverName = ".") // : base(queueName, serverName) //{ // _adapter = new AdapterProperties() // { // }; //} #endregion #region override protected override Listener CreateListener(AdapterProperties lp) { return(new ListenerQ(this, lp)); }
//public QueueListener(AdapterProperties[] queues) // : base(queues) //{ //} public QueueListener(AdapterProperties adapter) : base(adapter) { _adapter = adapter; _Listener = new ListenerQ(this, adapter); }
/// <summary> /// Initialize a new instance of db adapter. /// </summary> /// <param name="db"></param> public DbListener(AdapterProperties db) : base(db) { }