1 /*!
  2  * @include "_InternalClasses.js"
  3  */
  4 
  5 /**
  6  * Boardオブジェクトが参照する板が属するカテゴリのCategoryオブジェクト
  7  * Action:○ LateCall:○ Command:○
  8  * @type _JVS.Category
  9  */
 10 _JVS.Board.prototype.Category = new _JVS.Category();
 11 
 12 /**
 13  * 参照先のBoardの実体が存在しているかどうか
 14  * true  存在しており、アクセス可能
 15  * false 削除されており、アクセス不可
 16  * 
 17  * ※板は板一覧の更新を行ったときに参照がなければ再作成されるため、Boardオブジェクトの取得後に
 18  * 板一覧が更新されると高率でConnectedはfalseになり、その後のそのBoardオブジェクトに
 19  * アクセスするとエラーになる。
 20  * (Boardオブジェクトへの参照があっても、実体の板が開いていなければ再作成の対象になる)
 21  * その場合は改めてBoardオブジェクトを取得する必要がある。
 22  * 
 23  * BoardオブジェクトのLoadを実行すると板がBoardオブジェクトから内部的にオープンされた状態に
 24  * なるため、Boardオブジェクトが参照されている間の再作成を防ぐことができる
 25  * 
 26  * Action:○ LateCall:○ Command:○
 27  * @type bool
 28  */
 29 _JVS.Board.prototype.Connected = true;
 30 
 31 /**
 32  * 板が現在保持しているスレの数
 33  * 
 34  * 板は開かれていなければ全てのレスを読み込んでいるのではなく、参照のあるスレだけを保持している。
 35  * この状態でCountを取得すると、そのとき保持しているスレの数が帰る。板に属する全てのスレの数を
 36  * 知りたい場合は、Board.Loadを実行してからCountを取得する必要がある。
 37  * Actionの中からはBoard.Loadが実行できず、またBoardAnalysisActionの場合ステージによってはスレを
 38  * 別な場所に一時的に移すことがあり、Board.Countは取得できるが正しい値にならない場合がある。
 39  * 
 40  * Action:△ LateCall:○ Command:○
 41  * @type int
 42  */
 43 _JVS.Board.prototype.Count = 1;
 44 
 45 /**
 46  * その板でのスレ容量警告の設定値。該当の板に属するスレがこの容量を超えると板一覧のアイコンと
 47  * スレタブの着色による警告表示が行われる。この値はBoardCustomize.iniにより設定される。単位はbyte。
 48  * @type int
 49  */
 50 _JVS.Board.prototype.DatSizeAlert = 400 * 1024;
 51 
 52 /**
 53  * 板の中からdat名を元にスレを検索し、ThreadItemオブジェクトを返す
 54  * 板が開かれていない場合は処理の中でBoard.Loadが呼び出される
 55  * このため、板が開かれていない場合はActionからの呼び出しはエラーになる。
 56  * また、BoardAnalysisActionからの呼び出しは解析のステージによっては正しい結果が得られない)
 57  * Action:△ LateCall:○ Command:○
 58  * @param {String} datName 検索するスレのdat名(datファイルのファイル名から拡張子(.dat)を取り除いたもの)
 59  * @return {_JVS.ThreadItem} 検索で見つかったスレのThreadItemオブジェクト。該当するスレがなかった場合はundefined
 60  */
 61 _JVS.Board.prototype.FindThread = function(datName){return new _JVS.ThreadItem();};
 62 
 63 /**
 64  * 板が現在保持しているスレのThreadItemオブジェクトを取得する
 65  * 
 66  * 板は開かれていなければ全てのレスを読み込んでいるのではなく、参照のあるスレだけを保持している。
 67  * 板に属する全てのスレを参照したいときは、あらかじめBoard.Loadを実行し、その後でindex=0〜Count-1
 68  * のThreadItemを取得する必要がある。
 69  * Actionの中からはBoard.Loadが実行できないのでその時点で読み込まれているスレの取得しかできない。
 70  * 
 71  * Action:△ LateCall:○ Command:○
 72  * @param {int} Index 取得するスレの現時点での板の中でのインデックス
 73  * @return {_JVS.ThreadItem} 該当のスレを参照したThreadItemオブジェクト
 74  */
 75 _JVS.Board.prototype.GetThread = function(Index){return new _JVS.ThreadItem();};
 76 
 77 /**
 78  * 板のSubject.txtのGMTでの最終更新時刻(httpレスポンスヘッダから取得したもの)
 79  * Action:○{BoardAnalysisAction:×} LateCall:○ Command:○
 80  * @type String
 81  */
 82 _JVS.Board.prototype.LastModified = "Thu, 01 Jan 1970 00:00:00 GMT";
 83 
 84 /**
 85  * 板を内部的にオープン状態にして、ログフォルダのSubject.txtおよびスレの情報を読み込む。
 86  * 内部的なオープン状態はBoardオブジェクトへの全ての参照がなくなるまで継続される。
 87  * Action:× LateCall:○ Command:○
 88  */
 89 _JVS.Board.prototype.Load = function(){};
 90 
 91 /**
 92  * 板のディレクトリ。ここにsubject.txtやスレのidx、datが置かれている。
 93  * Action:○ LateCall:○ Command:○
 94  * @type String
 95  */
 96 _JVS.Board.prototype.LogDir = "C:\\Jane\\Logs\\Category\\Board\\";
 97 
 98 /**
 99  * 該当の板にあるスレの最大レス数の設定値。取得レス数がこの値を超えたスレはdat落ちと見なされる。
100  * この値はBoardCustomize.iniにより設定される。
101  * Action:○ LateCall:○ Command:○
102  * @type int
103  */
104 _JVS.Board.prototype.MaxResNum = 1000;
105 
106 /**
107  * 板の名称(例: Win板ならば"Windows")
108  * Action:○ LateCall:○ Command:○
109  * @type String
110  */
111 _JVS.Board.prototype.Name = "Windows";
112 
113 /**
114  * システムでは使用/制御しない。
115  * スクリプトが板に固有の情報を保持させたい場合にこのプロパティに代入しておく。
116  * スクリプトごとに保存領域が分けられているので、同じBoardに対してA.jsとB.jsが別々に
117  * Board.Objを設定できる。逆に、他のスクリプトが設定したObjを参照することはできない。
118  * スクリプトからの参照がなくなってもObjは保持され、再度スクリプトから参照すれば値を取得可能
119  * ただし、板一覧の更新などによりBoardが参照する板の実体が再作成された場合はObjも失われる。
120  * @type Object
121  */
122 _JVS.Board.prototype.Obj = null;
123 
124 /**
125  * 板のURL(例: Win板ならば"http://pc12.2ch.net/win/")
126  * Action:○ LateCall:○ Command:○
127  * @type String
128  */
129 _JVS.Board.prototype.Url = "http://pc12.2ch.net/win/";
130