[ 新規 ] [ 検索 | 一覧 | FrontPage ] [ 履歴 (RSS) | 差分履歴 (RSS) ] [ ログイン ]
【PR】Amazon | SL-C3000 | SL-C1000(3/18発売!) | SL-C860 | SL-6000W | SL-6000L | SL-6000N

qcop2

差分表示


編集前の状態に戻します。
qcopの機能拡張版

標準のqcopではパラメータのタイプとしてQStringとintしか受け付けてくれないので
とりあえずboolも受け付けられるようにしてみました。

*変更履歴

-0.1.0 2003/07/03
--同一メッセージを連続で送信できるように拡張

 qcop2 QPE/KeyHelper 'event(QString,int)' a 2 b 2 c 2 d 2

上記のような事ができるようになりました。

 qcop QPE/KeyHelper 'event(QString,int)' a 2
 qcop QPE/KeyHelper 'event(QString,int)' b 2
 qcop QPE/KeyHelper 'event(QString,int)' c 2
 qcop QPE/KeyHelper 'event(QString,int)' d 2

実行される内容は上記と同じですが毎回コマンド実行になってしまうため、非常に遅くなってしまうので拡張しました。

-0.0.1 2003/04/18
--初版 パラメータとしてboolを受け取れるように拡張
*ダウンロード

パッケージングしました。
[[qcop2_0.1.0-1_arm.ipk Download:qcop2_0.1.0-1_arm.ipk]]

ほぼノーテストの人柱バージョンです。
とりあえず時間がなかったのでバイナリのみ。
[[qcop2_0.0.1.tar.gz Download:qcop2_0.0.1.tar.gz]]

-----

ご意見があればどうぞ。
[[#rcomment]]
- 2007-05-29 (Tue) 15:14:23 ''[[Culutaan ]]'' : コメントNice work! http://superpoker.gnomforum.info/ecw-extreme-poker-strip-uncensored.html <br> http://superpoker.gnomforum.info/ecw-poker-strip-uncensored.html <br> http://superpoker.gnomforum.info/free-online-video-poker-slot-from-candyland.html <br> http://superpoker.gnomforum.info/game-image-online-optional-poker-post.html-ticket-url.html <br> http://superpoker.gnomforum.info/image-optional-poker-post.html-site-ticket-url.html <br> http://superpoker.gnomforum.info/index.html <br> http://superpoker.gnomforum.info/kestell-poker-table.html <br> http://superpoker.gnomforum.info/micks-strip-poker.html <br> http://superpoker.gnomforum.info/party-poker-seat-stealer.html <br> http://superpoker.gnomforum.info/sitemap.html <br> http://superpoker.gnomforum.info/turlock-poker-room.html
:Nice work! http://pokerwins.gnomforum.info/14g-poker-chips.html <br> http://pokerwins.gnomforum.info/chip-poker-set-smith-wesson.html <br> http://pokerwins.gnomforum.info/city-greed-liar-poker-true-two.html <br> http://pokerwins.gnomforum.info/ecw-extreme-poker-strip-video.html <br> http://pokerwins.gnomforum.info/ecw-extreme-poker-strip.html <br> http://pokerwins.gnomforum.info/ecw-pic-poker-strip.html <br> http://pokerwins.gnomforum.info/en.wikipedia.org-free-online-poker-poker-site-strip-video.html <br> http://pokerwins.gnomforum.info/foldable-poker-table.html <br> http://pokerwins.gnomforum.info/holdem-poker-sportsline-texas.html <br> http://pokerwins.gnomforum.info/index.html <br> http://pokerwins.gnomforum.info/index1.html <br> http://pokerwins.gnomforum.info/optimal-strategy-for-pai-gow-poker.html <br> http://pokerwins.gnomforum.info/paridise-poker.html
*http://poker.gnomforum.info/<br> http://poker.gnomforum.info/absolute-poker.html<br> http://poker.gnomforum.info/caros-book-of-poker-tells.html<br> http://poker.gnomforum.info/doyle-brunsons-super-system-a-course-in-power-poker.html<br> http://poker.gnomforum.info/free-strip-poker.html<br> http://poker.gnomforum.info/index.html<br> http://poker.gnomforum.info/liar-poker.html<br> http://poker.gnomforum.info/pacfic-poker.html<br> http://poker.gnomforum.info/poker-chip-set.html<br> http://poker.gnomforum.info/poker-mathematics.html<br> http://poker.gnomforum.info/poker-rule.html<br> http://poker.gnomforum.info/poker-stars.net.html<br> http://poker.gnomforum.info/poker-theory.html<br> http://poker.gnomforum.info/sitemap.html
*http://poker.gnomforum.info/<br> http://poker.gnomforum.info/absolute-poker.html<br> http://poker.gnomforum.info/caros-book-of-poker-tells.html<br> http://poker.gnomforum.info/doyle-brunsons-super-system-a-course-in-power-poker.html<br> http://poker.gnomforum.info/free-strip-poker.html<br> http://poker.gnomforum.info/index.html<br> http://poker.gnomforum.info/liar-poker.html<br> http://poker.gnomforum.info/pacfic-poker.html<br> http://poker.gnomforum.info/poker-chip-set.html<br> http://poker.gnomforum.info/poker-mathematics.html<br> http://poker.gnomforum.info/poker-rule.html<br> http://poker.gnomforum.info/poker-stars.net.html<br> http://poker.gnomforum.info/poker-theory.html<br> http://poker.gnomforum.info/sitemap.html

-----
*ソース

**main.cpp

 #include <qpe/qcopenvelope_qws.h>
 
 #include <qapplication.h>
 #include <qstringlist.h>
 #include <qdatastream.h>
 #include <qtimer.h>
 
 #include <stdlib.h>
 #include <stdio.h>
 
 static void usage()
 {
     fprintf( stderr, "Usage: qcop channel command [parameters]\n" );
 }
 
 static void syntax( const QString &where, const QString &what )
 {
     fprintf( stderr, "Syntax error in %s: %s\n", where.latin1(), what.latin1() );
     exit(1);
 }
 
 int main( int argc, char *argv[] )
 {
     QApplication app( argc, argv );
 
     if ( argc < 3 ) {
     usage();
     exit(1);
     }
 
     QString channel = argv[1];
     QString command = argv[2];
     command.stripWhiteSpace();
 
     int paren = command.find( "(" );
     if ( paren <= 0 )
     syntax( "command", command );
 
     QString params = command.mid( paren + 1 );
     if ( params[params.length()-1] != ')' )
     syntax( "command", command );
 
     params.truncate( params.length()-1 );
     QStringList paramList = QStringList::split( ",", params );
     if(paramList.count() == 0){
         QCopEnvelope(channel.latin1(), command.latin1());
     } else {
         QCopEnvelope* env = NULL;
         QStringList::Iterator it = paramList.end();
         for(int argIdx=3; argIdx<argc; argIdx++){
             if(it == paramList.end()){
                 if(argc - argIdx < paramList.count()){
                     break;
                 }
                 /* initialize */
                 it = paramList.begin();
                 env = new QCopEnvelope(channel.latin1(), command.latin1());
             }
             QString arg = argv[argIdx];
             if ( *it == "QString" ) {
                 *env << arg;
             } else if ( *it == "int" ) {
                 *env << arg.toInt();
             } else if ( *it == "bool") {
                 *env << arg.toInt();
             } else {
                 syntax( "paramter type", *it );
             }
             ++it;
             if(it == paramList.end()){
                 /* send qcop message */
                 delete env;
             }
         }
     }
 
     QTimer::singleShot( 0, &app, SLOT(quit()) );
     return app.exec();
 }


06412