qthighway/xqserviceutil/src/xqserviceutil.cpp
changeset 26 3d09643def13
parent 24 9d760f716ca8
child 27 6bfad47013df
equal deleted inserted replaced
24:9d760f716ca8 26:3d09643def13
    27 #include <QStringList>
    27 #include <QStringList>
    28 
    28 
    29 #include <apgcli.h>
    29 #include <apgcli.h>
    30 #include <apacmdln.h>
    30 #include <apacmdln.h>
    31 #include <apgtask.h>
    31 #include <apgtask.h>
    32 #include <coemain.h>
       
    33 #include <e32std.h>
       
    34 #include <w32std.h> // RWsSession
       
    35 #include <apacmdln.h>
    32 #include <apacmdln.h>
    36 #include <eikenv.h>
    33 #include <eikenv.h>
       
    34 
    37 
    35 
    38 // ======== LOCAL FUNCTIONS ========
    36 // ======== LOCAL FUNCTIONS ========
    39 static bool isKeySet(const QString &key)
    37 static bool isKeySet(const QString &key)
    40 {
    38 {
    41     XQSERVICE_DEBUG_PRINT("XQServiceUtil isKeySet %s", qPrintable(key));
    39     XQSERVICE_DEBUG_PRINT("XQServiceUtil isKeySet %s", qPrintable(key));
   103         }
   101         }
   104     }
   102     }
   105     XQSERVICE_DEBUG_PRINT("key value=%s", qPrintable(ret));
   103     XQSERVICE_DEBUG_PRINT("key value=%s", qPrintable(ret));
   106     return ret;
   104     return ret;
   107 }
   105 }
   108 
       
   109 
   106 
   110 // ======== MEMBER FUNCTIONS ========
   107 // ======== MEMBER FUNCTIONS ========
   111 
   108 
   112 /*!
   109 /*!
   113     Send service application to backround in asynchronous service call.
   110     Send service application to backround in asynchronous service call.
   263 {
   260 {
   264     XQSERVICE_DEBUG_PRINT("XQServiceUtil::serviceName argv");
   261     XQSERVICE_DEBUG_PRINT("XQServiceUtil::serviceName argv");
   265     return keyValue(argc,argv,QString::fromLatin1(XQServiceUtils::StartupArgServiceName));
   262     return keyValue(argc,argv,QString::fromLatin1(XQServiceUtils::StartupArgServiceName));
   266 }
   263 }
   267 
   264 
       
   265 static const quint32 CrcTab32[256] = {
       
   266         0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL,
       
   267         0x076dc419UL, 0x706af48fUL, 0xe963a535UL, 0x9e6495a3UL,
       
   268         0x0edb8832UL, 0x79dcb8a4UL, 0xe0d5e91eUL, 0x97d2d988UL,
       
   269         0x09b64c2bUL, 0x7eb17cbdUL, 0xe7b82d07UL, 0x90bf1d91UL,
       
   270         0x1db71064UL, 0x6ab020f2UL, 0xf3b97148UL, 0x84be41deUL,
       
   271         0x1adad47dUL, 0x6ddde4ebUL, 0xf4d4b551UL, 0x83d385c7UL,
       
   272         0x136c9856UL, 0x646ba8c0UL, 0xfd62f97aUL, 0x8a65c9ecUL,
       
   273         0x14015c4fUL, 0x63066cd9UL, 0xfa0f3d63UL, 0x8d080df5UL,
       
   274         0x3b6e20c8UL, 0x4c69105eUL, 0xd56041e4UL, 0xa2677172UL,
       
   275         0x3c03e4d1UL, 0x4b04d447UL, 0xd20d85fdUL, 0xa50ab56bUL,
       
   276         0x35b5a8faUL, 0x42b2986cUL, 0xdbbbc9d6UL, 0xacbcf940UL,
       
   277         0x32d86ce3UL, 0x45df5c75UL, 0xdcd60dcfUL, 0xabd13d59UL,
       
   278         0x26d930acUL, 0x51de003aUL, 0xc8d75180UL, 0xbfd06116UL,
       
   279         0x21b4f4b5UL, 0x56b3c423UL, 0xcfba9599UL, 0xb8bda50fUL,
       
   280         0x2802b89eUL, 0x5f058808UL, 0xc60cd9b2UL, 0xb10be924UL,
       
   281         0x2f6f7c87UL, 0x58684c11UL, 0xc1611dabUL, 0xb6662d3dUL,
       
   282         0x76dc4190UL, 0x01db7106UL, 0x98d220bcUL, 0xefd5102aUL,
       
   283         0x71b18589UL, 0x06b6b51fUL, 0x9fbfe4a5UL, 0xe8b8d433UL,
       
   284         0x7807c9a2UL, 0x0f00f934UL, 0x9609a88eUL, 0xe10e9818UL,
       
   285         0x7f6a0dbbUL, 0x086d3d2dUL, 0x91646c97UL, 0xe6635c01UL,
       
   286         0x6b6b51f4UL, 0x1c6c6162UL, 0x856530d8UL, 0xf262004eUL,
       
   287         0x6c0695edUL, 0x1b01a57bUL, 0x8208f4c1UL, 0xf50fc457UL,
       
   288         0x65b0d9c6UL, 0x12b7e950UL, 0x8bbeb8eaUL, 0xfcb9887cUL,
       
   289         0x62dd1ddfUL, 0x15da2d49UL, 0x8cd37cf3UL, 0xfbd44c65UL,
       
   290         0x4db26158UL, 0x3ab551ceUL, 0xa3bc0074UL, 0xd4bb30e2UL,
       
   291         0x4adfa541UL, 0x3dd895d7UL, 0xa4d1c46dUL, 0xd3d6f4fbUL,
       
   292         0x4369e96aUL, 0x346ed9fcUL, 0xad678846UL, 0xda60b8d0UL,
       
   293         0x44042d73UL, 0x33031de5UL, 0xaa0a4c5fUL, 0xdd0d7cc9UL,
       
   294         0x5005713cUL, 0x270241aaUL, 0xbe0b1010UL, 0xc90c2086UL,
       
   295         0x5768b525UL, 0x206f85b3UL, 0xb966d409UL, 0xce61e49fUL,
       
   296         0x5edef90eUL, 0x29d9c998UL, 0xb0d09822UL, 0xc7d7a8b4UL,
       
   297         0x59b33d17UL, 0x2eb40d81UL, 0xb7bd5c3bUL, 0xc0ba6cadUL,
       
   298         0xedb88320UL, 0x9abfb3b6UL, 0x03b6e20cUL, 0x74b1d29aUL,
       
   299         0xead54739UL, 0x9dd277afUL, 0x04db2615UL, 0x73dc1683UL,
       
   300         0xe3630b12UL, 0x94643b84UL, 0x0d6d6a3eUL, 0x7a6a5aa8UL,
       
   301         0xe40ecf0bUL, 0x9309ff9dUL, 0x0a00ae27UL, 0x7d079eb1UL,
       
   302         0xf00f9344UL, 0x8708a3d2UL, 0x1e01f268UL, 0x6906c2feUL,
       
   303         0xf762575dUL, 0x806567cbUL, 0x196c3671UL, 0x6e6b06e7UL,
       
   304         0xfed41b76UL, 0x89d32be0UL, 0x10da7a5aUL, 0x67dd4accUL,
       
   305         0xf9b9df6fUL, 0x8ebeeff9UL, 0x17b7be43UL, 0x60b08ed5UL,
       
   306         0xd6d6a3e8UL, 0xa1d1937eUL, 0x38d8c2c4UL, 0x4fdff252UL,
       
   307         0xd1bb67f1UL, 0xa6bc5767UL, 0x3fb506ddUL, 0x48b2364bUL,
       
   308         0xd80d2bdaUL, 0xaf0a1b4cUL, 0x36034af6UL, 0x41047a60UL,
       
   309         0xdf60efc3UL, 0xa867df55UL, 0x316e8eefUL, 0x4669be79UL,
       
   310         0xcb61b38cUL, 0xbc66831aUL, 0x256fd2a0UL, 0x5268e236UL,
       
   311         0xcc0c7795UL, 0xbb0b4703UL, 0x220216b9UL, 0x5505262fUL,
       
   312         0xc5ba3bbeUL, 0xb2bd0b28UL, 0x2bb45a92UL, 0x5cb36a04UL,
       
   313         0xc2d7ffa7UL, 0xb5d0cf31UL, 0x2cd99e8bUL, 0x5bdeae1dUL,
       
   314         0x9b64c2b0UL, 0xec63f226UL, 0x756aa39cUL, 0x026d930aUL,
       
   315         0x9c0906a9UL, 0xeb0e363fUL, 0x72076785UL, 0x05005713UL,
       
   316         0x95bf4a82UL, 0xe2b87a14UL, 0x7bb12baeUL, 0x0cb61b38UL,
       
   317         0x92d28e9bUL, 0xe5d5be0dUL, 0x7cdcefb7UL, 0x0bdbdf21UL,
       
   318         0x86d3d2d4UL, 0xf1d4e242UL, 0x68ddb3f8UL, 0x1fda836eUL,
       
   319         0x81be16cdUL, 0xf6b9265bUL, 0x6fb077e1UL, 0x18b74777UL,
       
   320         0x88085ae6UL, 0xff0f6a70UL, 0x66063bcaUL, 0x11010b5cUL,
       
   321         0x8f659effUL, 0xf862ae69UL, 0x616bffd3UL, 0x166ccf45UL,
       
   322         0xa00ae278UL, 0xd70dd2eeUL, 0x4e048354UL, 0x3903b3c2UL,
       
   323         0xa7672661UL, 0xd06016f7UL, 0x4969474dUL, 0x3e6e77dbUL,
       
   324         0xaed16a4aUL, 0xd9d65adcUL, 0x40df0b66UL, 0x37d83bf0UL,
       
   325         0xa9bcae53UL, 0xdebb9ec5UL, 0x47b2cf7fUL, 0x30b5ffe9UL,
       
   326         0xbdbdf21cUL, 0xcabac28aUL, 0x53b39330UL, 0x24b4a3a6UL,
       
   327         0xbad03605UL, 0xcdd70693UL, 0x54de5729UL, 0x23d967bfUL,
       
   328         0xb3667a2eUL, 0xc4614ab8UL, 0x5d681b02UL, 0x2a6f2b94UL,
       
   329         0xb40bbe37UL, 0xc30c8ea1UL, 0x5a05df1bUL, 0x2d02ef8dUL
       
   330 };
       
   331 
       
   332 quint32 XQServiceUtil::serviceIdFromName(const char *serviceName) 
       
   333 {
       
   334     XQSERVICE_DEBUG_PRINT("XQServiceUtil::serviceIdFromName");
       
   335     const char* p = serviceName;
       
   336     quint32 crc = 0xffffffffUL;
       
   337     while ((*p)!=0) {
       
   338         crc = (crc >> 8)  ^ CrcTab32[(crc ^ *p) & 0xff];
       
   339         p++;
       
   340     }  
       
   341     quint32 ret = 0xffffffffUL - crc; 
       
   342     XQSERVICE_DEBUG_PRINT("XQServiceUtil::serviceIdFromName: Crc calculated for: [%s]. Value is: %d.", serviceName, ret);
       
   343     return ret; 
       
   344 }
       
   345