00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "./kcookieserver.h"
00010
00011 #include <kdatastream.h>
00012 #include <qasciidict.h>
00013
00014
00015 static const int KCookieServer_fhash = 19;
00016 static const char* const KCookieServer_ftable[18][3] = {
00017 { "QString", "findCookies(QString)", "findCookies(QString)" },
00018 { "QString", "findCookies(QString,long int)", "findCookies(QString,long int)" },
00019 { "QStringList", "findDomains()", "findDomains()" },
00020 { "QStringList", "findCookies(QValueList<int>,QString,QString,QString,QString)", "findCookies(QValueList<int>,QString,QString,QString,QString)" },
00021 { "QString", "findDOMCookies(QString)", "findDOMCookies(QString)" },
00022 { "QString", "findDOMCookies(QString,long int)", "findDOMCookies(QString,long int)" },
00023 { "void", "addCookies(QString,QCString,long int)", "addCookies(QString,QCString,long int)" },
00024 { "void", "deleteCookie(QString,QString,QString,QString)", "deleteCookie(QString,QString,QString,QString)" },
00025 { "void", "deleteCookiesFromDomain(QString)", "deleteCookiesFromDomain(QString)" },
00026 { "void", "deleteSessionCookies(long int)", "deleteSessionCookies(long int)" },
00027 { "void", "deleteSessionCookiesFor(QString,long int)", "deleteSessionCookiesFor(QString,long int)" },
00028 { "void", "deleteAllCookies()", "deleteAllCookies()" },
00029 { "void", "addDOMCookies(QString,QCString,long int)", "addDOMCookies(QString,QCString,long int)" },
00030 { "void", "setDomainAdvice(QString,QString)", "setDomainAdvice(QString url,QString advice)" },
00031 { "QString", "getDomainAdvice(QString)", "getDomainAdvice(QString url)" },
00032 { "void", "reloadPolicy()", "reloadPolicy()" },
00033 { "void", "shutdown()", "shutdown()" },
00034 { 0, 0, 0 }
00035 };
00036 static const int KCookieServer_ftable_hiddens[17] = {
00037 0,
00038 0,
00039 0,
00040 0,
00041 0,
00042 0,
00043 0,
00044 0,
00045 0,
00046 0,
00047 0,
00048 0,
00049 0,
00050 0,
00051 0,
00052 0,
00053 0,
00054 };
00055
00056 bool KCookieServer::process(const QCString &fun, const QByteArray &data, QCString& replyType, QByteArray &replyData)
00057 {
00058 static QAsciiDict<int>* fdict = 0;
00059 if ( !fdict ) {
00060 fdict = new QAsciiDict<int>( KCookieServer_fhash, true, false );
00061 for ( int i = 0; KCookieServer_ftable[i][1]; i++ )
00062 fdict->insert( KCookieServer_ftable[i][1], new int( i ) );
00063 }
00064 int* fp = fdict->find( fun );
00065 switch ( fp?*fp:-1) {
00066 case 0: {
00067 QString arg0;
00068 QDataStream arg( data, IO_ReadOnly );
00069 if (arg.atEnd()) return false;
00070 arg >> arg0;
00071 replyType = KCookieServer_ftable[0][0];
00072 QDataStream _replyStream( replyData, IO_WriteOnly );
00073 _replyStream << findCookies(arg0 );
00074 } break;
00075 case 1: {
00076 QString arg0;
00077 long int arg1;
00078 QDataStream arg( data, IO_ReadOnly );
00079 if (arg.atEnd()) return false;
00080 arg >> arg0;
00081 if (arg.atEnd()) return false;
00082 arg >> arg1;
00083 replyType = KCookieServer_ftable[1][0];
00084 QDataStream _replyStream( replyData, IO_WriteOnly );
00085 _replyStream << findCookies(arg0, arg1 );
00086 } break;
00087 case 2: {
00088 replyType = KCookieServer_ftable[2][0];
00089 QDataStream _replyStream( replyData, IO_WriteOnly );
00090 _replyStream << findDomains( );
00091 } break;
00092 case 3: {
00093 QValueList<int> arg0;
00094 QString arg1;
00095 QString arg2;
00096 QString arg3;
00097 QString arg4;
00098 QDataStream arg( data, IO_ReadOnly );
00099 if (arg.atEnd()) return false;
00100 arg >> arg0;
00101 if (arg.atEnd()) return false;
00102 arg >> arg1;
00103 if (arg.atEnd()) return false;
00104 arg >> arg2;
00105 if (arg.atEnd()) return false;
00106 arg >> arg3;
00107 if (arg.atEnd()) return false;
00108 arg >> arg4;
00109 replyType = KCookieServer_ftable[3][0];
00110 QDataStream _replyStream( replyData, IO_WriteOnly );
00111 _replyStream << findCookies(arg0, arg1, arg2, arg3, arg4 );
00112 } break;
00113 case 4: {
00114 QString arg0;
00115 QDataStream arg( data, IO_ReadOnly );
00116 if (arg.atEnd()) return false;
00117 arg >> arg0;
00118 replyType = KCookieServer_ftable[4][0];
00119 QDataStream _replyStream( replyData, IO_WriteOnly );
00120 _replyStream << findDOMCookies(arg0 );
00121 } break;
00122 case 5: {
00123 QString arg0;
00124 long int arg1;
00125 QDataStream arg( data, IO_ReadOnly );
00126 if (arg.atEnd()) return false;
00127 arg >> arg0;
00128 if (arg.atEnd()) return false;
00129 arg >> arg1;
00130 replyType = KCookieServer_ftable[5][0];
00131 QDataStream _replyStream( replyData, IO_WriteOnly );
00132 _replyStream << findDOMCookies(arg0, arg1 );
00133 } break;
00134 case 6: {
00135 QString arg0;
00136 QCString arg1;
00137 long int arg2;
00138 QDataStream arg( data, IO_ReadOnly );
00139 if (arg.atEnd()) return false;
00140 arg >> arg0;
00141 if (arg.atEnd()) return false;
00142 arg >> arg1;
00143 if (arg.atEnd()) return false;
00144 arg >> arg2;
00145 replyType = KCookieServer_ftable[6][0];
00146 addCookies(arg0, arg1, arg2 );
00147 } break;
00148 case 7: {
00149 QString arg0;
00150 QString arg1;
00151 QString arg2;
00152 QString arg3;
00153 QDataStream arg( data, IO_ReadOnly );
00154 if (arg.atEnd()) return false;
00155 arg >> arg0;
00156 if (arg.atEnd()) return false;
00157 arg >> arg1;
00158 if (arg.atEnd()) return false;
00159 arg >> arg2;
00160 if (arg.atEnd()) return false;
00161 arg >> arg3;
00162 replyType = KCookieServer_ftable[7][0];
00163 deleteCookie(arg0, arg1, arg2, arg3 );
00164 } break;
00165 case 8: {
00166 QString arg0;
00167 QDataStream arg( data, IO_ReadOnly );
00168 if (arg.atEnd()) return false;
00169 arg >> arg0;
00170 replyType = KCookieServer_ftable[8][0];
00171 deleteCookiesFromDomain(arg0 );
00172 } break;
00173 case 9: {
00174 long int arg0;
00175 QDataStream arg( data, IO_ReadOnly );
00176 if (arg.atEnd()) return false;
00177 arg >> arg0;
00178 replyType = KCookieServer_ftable[9][0];
00179 deleteSessionCookies(arg0 );
00180 } break;
00181 case 10: {
00182 QString arg0;
00183 long int arg1;
00184 QDataStream arg( data, IO_ReadOnly );
00185 if (arg.atEnd()) return false;
00186 arg >> arg0;
00187 if (arg.atEnd()) return false;
00188 arg >> arg1;
00189 replyType = KCookieServer_ftable[10][0];
00190 deleteSessionCookiesFor(arg0, arg1 );
00191 } break;
00192 case 11: {
00193 replyType = KCookieServer_ftable[11][0];
00194 deleteAllCookies( );
00195 } break;
00196 case 12: {
00197 QString arg0;
00198 QCString arg1;
00199 long int arg2;
00200 QDataStream arg( data, IO_ReadOnly );
00201 if (arg.atEnd()) return false;
00202 arg >> arg0;
00203 if (arg.atEnd()) return false;
00204 arg >> arg1;
00205 if (arg.atEnd()) return false;
00206 arg >> arg2;
00207 replyType = KCookieServer_ftable[12][0];
00208 addDOMCookies(arg0, arg1, arg2 );
00209 } break;
00210 case 13: {
00211 QString arg0;
00212 QString arg1;
00213 QDataStream arg( data, IO_ReadOnly );
00214 if (arg.atEnd()) return false;
00215 arg >> arg0;
00216 if (arg.atEnd()) return false;
00217 arg >> arg1;
00218 replyType = KCookieServer_ftable[13][0];
00219 setDomainAdvice(arg0, arg1 );
00220 } break;
00221 case 14: {
00222 QString arg0;
00223 QDataStream arg( data, IO_ReadOnly );
00224 if (arg.atEnd()) return false;
00225 arg >> arg0;
00226 replyType = KCookieServer_ftable[14][0];
00227 QDataStream _replyStream( replyData, IO_WriteOnly );
00228 _replyStream << getDomainAdvice(arg0 );
00229 } break;
00230 case 15: {
00231 replyType = KCookieServer_ftable[15][0];
00232 reloadPolicy( );
00233 } break;
00234 case 16: {
00235 replyType = KCookieServer_ftable[16][0];
00236 shutdown( );
00237 } break;
00238 default:
00239 return KDEDModule::process( fun, data, replyType, replyData );
00240 }
00241 return true;
00242 }
00243
00244 QCStringList KCookieServer::interfaces()
00245 {
00246 QCStringList ifaces = KDEDModule::interfaces();
00247 ifaces += "KCookieServer";
00248 return ifaces;
00249 }
00250
00251 QCStringList KCookieServer::functions()
00252 {
00253 QCStringList funcs = KDEDModule::functions();
00254 for ( int i = 0; KCookieServer_ftable[i][2]; i++ ) {
00255 if (KCookieServer_ftable_hiddens[i])
00256 continue;
00257 QCString func = KCookieServer_ftable[i][0];
00258 func += ' ';
00259 func += KCookieServer_ftable[i][2];
00260 funcs << func;
00261 }
00262 return funcs;
00263 }
00264
00265