usagi / virtual-keyboard-prototype-1

仮想キーボード試作1型
3 stars 0 forks source link

実装: commandline_helper #19

Closed usagi closed 10 years ago

usagi commented 10 years ago

http://melpon.org/wandbox/permlink/V7stfWXGv2r7dFSJ

usagi commented 10 years ago

assin change to me.

arisin commented 10 years ago

ありがとうがざいます!

usagi commented 10 years ago

終わってない。

usagi commented 10 years ago

担当者変えただけ。

arisin commented 10 years ago

申し訳ないです。ボタンを押し間違えてしまいました。

usagi commented 10 years ago

参照: #18

usagi commented 10 years ago

18 より引用

(-r = --reciever | -m = --main) # どちらも記述が無ければ --help --version として動作する
-p = --port 12345 # default _未定_
-r = --reciever-address 1.2.3.4 # default = コンフィグファイルに記述した値
-a = --accept-address 1.2.3.4 [5.6.7.8 [9.10.11.12]] # default コンフィグファイルに記述した値、またはなし
-t = --top-camera 0 # default コンフィグファイルに記述した値、または0
-f = --front-camera 1 # default コンフィグファイルに記述した値、または1
-W = --width 640 # default コンフィグファイルに記述した値、または640
-H = --height 480 # default コンフィグファイルに記述した値、または480
-h = --help
-v = --version
usagi commented 10 years ago

機能拡張提案

    class commandline_helper_t final
    {
    public:
      static configuration_t interpret(const std::vector<std::string>& arguments);
      static void show_help();
      static configuration_t load_default();
      static void load_file(configuration_t& conf, const std::string& filename = "etupirka.conf");
    };

追加

動作仕様

基本的にコマンドラインからの実行時はmainから引数群をinterpretで解釈。その際に内部で先ずload_defaultによりEtupirkaデフォルト値をロード、次に-c(--conf-file)オプションの有無により特定または標準(etupirka.conf)の.confのファイルロードを試みて先にロード済みのdefaultに項目があれば上書き。次いでコマンドラインを解釈してさらにconfを上書きという挙動。なお、それぞれ単独でも使用可能。

usagi commented 10 years ago

承認。実装しなさい。

usagi commented 10 years ago

はい。

usagi commented 10 years ago

load_file内部処理にはBoost Property Tree Library使います。

https://sites.google.com/site/boostjp/tips/ini

usagi commented 10 years ago

テスト用の etupirka.conf 居るんじゃ?

usagi commented 10 years ago

デフォルト値の conf を標準出力対応するって話でしたよね: #27

usagi commented 10 years ago

じゃあ先にそれ実装。

usagi commented 10 years ago

27 完了につき再開。