コード例 #1
0
ファイル: Pso2LogSender.cs プロジェクト: hakusailove/Hakusai
        /// <summary>
        /// Cavetube用Main(テスト用に差し替え可能な形)
        /// </summary>
        /// <param name="authFactory">使用するICavetubeAuthのインスタンスを選択</param>
        /// <param name="clientFactory">使用するICavetubeCelientのインスタンスを選択</param>
        /// <param name="pso2Factory">使用するIPso2LogWatcherのインスタンスを選択</param>
        /// <param name="waitAction">プログラムの終了を待つためのActionを選択</param>
        public static void CavetubeMain(
            ICavetubeAuthFactory authFactory,
            ICavetubeClientFactory clientFactory,
            IPso2LogWatcherFactory pso2Factory,
            Action waitAction)
        {
            using (CavetubeAuthManager manager = new CavetubeAuthManager(USER, PASSWORD, authFactory))
            using (var client = clientFactory.CreateCavetubeClient())
            {
                client.Connect();

                // 部屋名取得はapi経由でいいのだろうか?
                // 特定ユーザーの配信をチェックするのはコメントサーバからできるかも
                String url = new Uri(String.Format("http://gae.cavelis.net/live/{0}", USER)).AbsoluteUri;
                ISummary summary = client.GetSummary(url);
                if (summary.RoomId == null)
                    throw new ApplicationException("部屋IDの取得に失敗しました");

                CavetubeUtility.Joinning(client, summary.RoomId, () =>
                {
                    _logger.Debug("Joinした");
                    _logger.Debug("API Key: {0}", manager.GetApiKey());

                    LogWatch(
                        (String user, String message) =>
                        {
                            client.PostComment(user, message, manager.GetApiKey());
                        },
                        waitAction,
                        pso2Factory
                    );
                });
            }
        }
コード例 #2
0
ファイル: Pso2LogSender.cs プロジェクト: hakusailove/Hakusai
        /// <summary>
        /// Cavetube用Main(テスト用に差し替え可能な形)
        /// </summary>
        /// <param name="authFactory">使用するICavetubeAuthのインスタンスを選択</param>
        /// <param name="clientFactory">使用するICavetubeCelientのインスタンスを選択</param>
        /// <param name="pso2Factory">使用するIPso2LogWatcherのインスタンスを選択</param>
        /// <param name="waitAction">プログラムの終了を待つためのActionを選択</param>
        public static void CavetubeMain(
            ICavetubeAuthFactory authFactory,
            ICavetubeClientFactory clientFactory,
            IPso2LogWatcherFactory pso2Factory,
            Action waitAction)
        {
            using (CavetubeAuthManager manager = new CavetubeAuthManager(USER, PASSWORD, authFactory))
                using (var client = clientFactory.CreateCavetubeClient())
                {
                    client.Connect();

                    // 部屋名取得はapi経由でいいのだろうか?
                    // 特定ユーザーの配信をチェックするのはコメントサーバからできるかも
                    String   url     = new Uri(String.Format("http://gae.cavelis.net/live/{0}", USER)).AbsoluteUri;
                    ISummary summary = client.GetSummary(url);
                    if (summary.RoomId == null)
                    {
                        throw new ApplicationException("部屋IDの取得に失敗しました");
                    }

                    CavetubeUtility.Joinning(client, summary.RoomId, () =>
                    {
                        _logger.Debug("Joinした");
                        _logger.Debug("API Key: {0}", manager.GetApiKey());

                        LogWatch(
                            (String user, String message) =>
                        {
                            client.PostComment(user, message, manager.GetApiKey());
                        },
                            waitAction,
                            pso2Factory
                            );
                    });
                }
        }
コード例 #3
0
 /// <summary>
 /// テスト用コンストラクタ
 /// </summary>
 /// <param name="user">ユーザー名</param>
 /// <param name="password">パスワード</param>
 /// <param name="factory">認証に必要なオブジェクトのファクトリオブジェクト</param>
 public CavetubeAuthManager(String user, String password, ICavetubeAuthFactory factory)
 {
     _user = user;
     _pass = password;
     _auth = factory.CreateCavetubeAuth();
 }
コード例 #4
0
 /// <summary>
 /// テスト用コンストラクタ
 /// </summary>
 /// <param name="user">ユーザー名</param>
 /// <param name="password">パスワード</param>
 /// <param name="factory">認証に必要なオブジェクトのファクトリオブジェクト</param>
 public CavetubeAuthManager(String user, String password, ICavetubeAuthFactory factory)
 {
     _user = user;
     _pass = password;
     _auth = factory.CreateCavetubeAuth();
 }