00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "./playerdcopobject.h"
00010
00011 #include <kdatastream.h>
00012 #include <qasciidict.h>
00013
00014 namespace KMediaPlayer {
00015
00016 static const int PlayerDCOPObject_fhash = 17;
00017 static const char* const PlayerDCOPObject_ftable[14][3] = {
00018 { "bool", "openURL(KURL)", "openURL(KURL file)" },
00019 { "void", "pause()", "pause()" },
00020 { "void", "play()", "play()" },
00021 { "void", "stop()", "stop()" },
00022 { "void", "seek(unsigned long int)", "seek(unsigned long int msec)" },
00023 { "bool", "isSeekable()", "isSeekable()" },
00024 { "unsigned long int", "position()", "position()" },
00025 { "bool", "hasLength()", "hasLength()" },
00026 { "unsigned long int", "length()", "length()" },
00027 { "void", "setLooping(bool)", "setLooping(bool)" },
00028 { "bool", "isLooping()", "isLooping()" },
00029 { "int", "state()", "state()" },
00030 { "void", "setState(int)", "setState(int)" },
00031 { 0, 0, 0 }
00032 };
00033
00034 bool PlayerDCOPObject::process(const QCString &fun, const QByteArray &data, QCString& replyType, QByteArray &replyData)
00035 {
00036 static QAsciiDict<int>* fdict = 0;
00037 if ( !fdict ) {
00038 fdict = new QAsciiDict<int>( PlayerDCOPObject_fhash, TRUE, FALSE );
00039 for ( int i = 0; PlayerDCOPObject_ftable[i][1]; i++ )
00040 fdict->insert( PlayerDCOPObject_ftable[i][1], new int( i ) );
00041 }
00042 int* fp = fdict->find( fun );
00043 switch ( fp?*fp:-1) {
00044 case 0: {
00045 KURL arg0;
00046 QDataStream arg( data, IO_ReadOnly );
00047 arg >> arg0;
00048 replyType = PlayerDCOPObject_ftable[0][0];
00049 QDataStream _replyStream( replyData, IO_WriteOnly );
00050 _replyStream << openURL(arg0 );
00051 } break;
00052 case 1: {
00053 replyType = PlayerDCOPObject_ftable[1][0];
00054 pause( );
00055 } break;
00056 case 2: {
00057 replyType = PlayerDCOPObject_ftable[2][0];
00058 play( );
00059 } break;
00060 case 3: {
00061 replyType = PlayerDCOPObject_ftable[3][0];
00062 stop( );
00063 } break;
00064 case 4: {
00065 unsigned long int arg0;
00066 QDataStream arg( data, IO_ReadOnly );
00067 arg >> arg0;
00068 replyType = PlayerDCOPObject_ftable[4][0];
00069 seek(arg0 );
00070 } break;
00071 case 5: {
00072 replyType = PlayerDCOPObject_ftable[5][0];
00073 QDataStream _replyStream( replyData, IO_WriteOnly );
00074 _replyStream << isSeekable( );
00075 } break;
00076 case 6: {
00077 replyType = PlayerDCOPObject_ftable[6][0];
00078 QDataStream _replyStream( replyData, IO_WriteOnly );
00079 _replyStream << position( );
00080 } break;
00081 case 7: {
00082 replyType = PlayerDCOPObject_ftable[7][0];
00083 QDataStream _replyStream( replyData, IO_WriteOnly );
00084 _replyStream << hasLength( );
00085 } break;
00086 case 8: {
00087 replyType = PlayerDCOPObject_ftable[8][0];
00088 QDataStream _replyStream( replyData, IO_WriteOnly );
00089 _replyStream << length( );
00090 } break;
00091 case 9: {
00092 bool arg0;
00093 QDataStream arg( data, IO_ReadOnly );
00094 arg >> arg0;
00095 replyType = PlayerDCOPObject_ftable[9][0];
00096 setLooping(arg0 );
00097 } break;
00098 case 10: {
00099 replyType = PlayerDCOPObject_ftable[10][0];
00100 QDataStream _replyStream( replyData, IO_WriteOnly );
00101 _replyStream << isLooping( );
00102 } break;
00103 case 11: {
00104 replyType = PlayerDCOPObject_ftable[11][0];
00105 QDataStream _replyStream( replyData, IO_WriteOnly );
00106 _replyStream << state( );
00107 } break;
00108 case 12: {
00109 int arg0;
00110 QDataStream arg( data, IO_ReadOnly );
00111 arg >> arg0;
00112 replyType = PlayerDCOPObject_ftable[12][0];
00113 setState(arg0 );
00114 } break;
00115 default:
00116 return DCOPObject::process( fun, data, replyType, replyData );
00117 }
00118 return TRUE;
00119 }
00120
00121 QCStringList PlayerDCOPObject::interfaces()
00122 {
00123 QCStringList ifaces = DCOPObject::interfaces();
00124 ifaces += "KMediaPlayer::PlayerDCOPObject";
00125 return ifaces;
00126 }
00127
00128 QCStringList PlayerDCOPObject::functions()
00129 {
00130 QCStringList funcs = DCOPObject::functions();
00131 for ( int i = 0; PlayerDCOPObject_ftable[i][2]; i++ ) {
00132 QCString func = PlayerDCOPObject_ftable[i][0];
00133 func += ' ';
00134 func += PlayerDCOPObject_ftable[i][2];
00135 funcs << func;
00136 }
00137 return funcs;
00138 }
00139
00140 }
00141