public Publisher(KwwikaTweetStreamerPublisherConfig config)
        {
            KwwikaTweetStreamerPublisherConfig.CheckConfiguration(config);

            _logger = new LoggerWrapper();

            _config = config;

            string twitterParams = BuildTwitterParams(config.SearchDefinitions);

            _connection = new TweetStreamer.Connection(config.TwitterConfig.Username, config.TwitterConfig.Password, config.TwitterConfig.Url, twitterParams, "POST", _logger);
            _connection.ConnectionStatusChanged += new TweetStreamer.Connection.OnConnectionStatusChangedEventHandler(connection_ConnectionStatusChanged);
            _connection.StatusMessageReceived += new TweetStreamer.Connection.OnStatusMessageReceivedEventHandler(connection_StatusMessageReceived);

            _messagePublisher = new MessagePublisherProxy(_logger, config);
        }
 public PusherPublisher(LoggerWrapper _logger)
 {
     this._logger = _logger;
     _provider = new PusherProvider("3016", "1db0d58e74e26c2dc0b2", "e1412346f15106d44ce1");
 }
 public KwwikaPublisher(LoggerWrapper logger, string apiKey, string domain)
 {
     _kwwikaConnection = Kwwika.Service.Connect(apiKey, domain, this);
     _logWrapper = logger;
     _kwwikaConnection.Logger = logger;
 }
 public MessagePublisherProxy(LoggerWrapper logger, KwwikaTweetStreamerPublisherConfig config)
 {
     _publishers.Add(new LogOnlyPublisher(logger));
     _publishers.Add(new PusherPublisher(logger));
     _publishers.Add(new KwwikaPublisher(logger, config.KwwikaConfig.ApiKey, config.KwwikaConfig.Domain));
 }
 public LogOnlyPublisher(LoggerWrapper logger)
 {
     this.logger = logger;
 }