homescreenapp/hswidgetuninstaller/src/hswidgetcomponentparser.cpp
changeset 62 341166945d65
parent 46 23b5d6a29cce
equal deleted inserted replaced
57:2e2dc3d30ca8 62:341166945d65
    29 const char ICONURI[] = "iconuri";
    29 const char ICONURI[] = "iconuri";
    30 const char ICON[] = "icon";
    30 const char ICON[] = "icon";
    31 const char DESCRIPTION[] = "description";
    31 const char DESCRIPTION[] = "description";
    32 const char HIDDEN[] = "hidden";
    32 const char HIDDEN[] = "hidden";
    33 const char SERVICEXML[] = "servicexml";
    33 const char SERVICEXML[] = "servicexml";
       
    34 const char TRANSLATIONFILE[] = "translationfile";
    34 const char VERSION[] = "version";
    35 const char VERSION[] = "version";
    35 const char VERSION_1_0[] = "1.0";
    36 const char VERSION_1_0[] = "1.0";
    36 
    37 
    37 /*!
    38 /*!
    38     \class HsWidgetComponentParser
    39     \class HsWidgetComponentParser
   108     Q_ASSERT(mParser.isStartElement() && mParser.name() == WIDGETMANIFEST);
   109     Q_ASSERT(mParser.isStartElement() && mParser.name() == WIDGETMANIFEST);
   109     
   110     
   110     /* Detect version */
   111     /* Detect version */
   111     if (mParser.attributes().hasAttribute(VERSION)) {
   112     if (mParser.attributes().hasAttribute(VERSION)) {
   112         QStringRef version = mParser.attributes().value(VERSION);
   113         QStringRef version = mParser.attributes().value(VERSION);
   113         mComponentDescriptor.version = version.toString();
   114         mComponentDescriptor.setVersion(version.toString());
   114         if (version == VERSION_1_0) { 
   115         if (version == VERSION_1_0) { 
   115             parseVersion1_0();
   116             parseVersion1_0();
   116         } else {
   117         } else {
   117             mParser.raiseError(QObject::tr("Unsupported version"));
   118             mParser.raiseError(QObject::tr("Unsupported version"));
   118         }
   119         }
   119         
   120         
   120     } else {
   121     } else {
   121         // newest is default
   122         // newest is default
   122         parseVersion1_0();
   123         parseVersion1_0();
   123         mComponentDescriptor.version = VERSION_1_0;
   124         mComponentDescriptor.setVersion(VERSION_1_0);
   124     }
   125     }
   125 }
   126 }
   126 
   127 
   127 /*!
   128 /*!
   128     Parse provider tag.
   129     Parse provider tag.
   138     // everything is in attributes
   139     // everything is in attributes
   139     QXmlStreamAttributes attrs = mParser.attributes();
   140     QXmlStreamAttributes attrs = mParser.attributes();
   140     foreach (QXmlStreamAttribute attr, attrs) {
   141     foreach (QXmlStreamAttribute attr, attrs) {
   141         QStringRef name = attr.name();
   142         QStringRef name = attr.name();
   142         if (name == URI) {
   143         if (name == URI) {
   143             mComponentDescriptor.uri = attr.value().toString();
   144             mComponentDescriptor.setUri(attr.value().toString());
   144         } else if (name == ICONURI) {
   145         } else if (name == ICONURI) {
   145             mComponentDescriptor.iconUri = attr.value().toString();   
   146             mComponentDescriptor.setIconUri(attr.value().toString());   
   146         } else if (name == TITLE) {
   147         } else if (name == TITLE) {
   147             mComponentDescriptor.title = attr.value().toString();    
   148             mComponentDescriptor.setTitle(attr.value().toString());    
   148         } else if (name == DESCRIPTION) {
   149         } else if (name == DESCRIPTION) {
   149             mComponentDescriptor.description = attr.value().toString();
   150             mComponentDescriptor.setDescription(attr.value().toString());
   150         } else if (name == HIDDEN) {
   151         } else if (name == HIDDEN) {
   151             mComponentDescriptor.hidden = attr.value().toString();
   152             mComponentDescriptor.setHidden(attr.value().toString());
   152         } 
   153         } 
   153     }
   154     }
   154 
   155 
   155 }
   156 }
   156 /*!
   157 /*!
   179             parseDescription();
   180             parseDescription();
   180         } else if (tag == HIDDEN) {
   181         } else if (tag == HIDDEN) {
   181             parseHidden();
   182             parseHidden();
   182         } else if (tag == SERVICEXML) {
   183         } else if (tag == SERVICEXML) {
   183             parseServiceXml();
   184             parseServiceXml();
   184         } 
   185         } else if (tag == TRANSLATIONFILE) {
       
   186             parseTranslationFilename();
       
   187         }        
   185 	}
   188 	}
   186 }
   189 }
   187 
   190 
   188 
   191 
   189 /*!
   192 /*!
   193 {
   196 {
   194     mParser.readNext();
   197     mParser.readNext();
   195     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   198     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   196 		return;
   199 		return;
   197 	}
   200 	}
   198     mComponentDescriptor.uri = mParser.text().toString();
   201     mComponentDescriptor.setUri(mParser.text().toString());
   199 }
   202 }
   200 
   203 
   201 /*!
   204 /*!
   202     Parse icon.
   205     Parse icon.
   203 */
   206 */
   205 {
   208 {
   206     mParser.readNext();
   209     mParser.readNext();
   207     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   210     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   208 		return;
   211 		return;
   209 	}
   212 	}
   210     mComponentDescriptor.iconUri = mParser.text().toString();
   213     mComponentDescriptor.setIconUri(mParser.text().toString());
   211 }
   214 }
   212 
   215 
   213 /*!
   216 /*!
   214     Parse title.
   217     Parse title.
   215 */
   218 */
   217 {
   220 {
   218     mParser.readNext();
   221     mParser.readNext();
   219     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   222     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   220 		return;
   223 		return;
   221 	}
   224 	}
   222     mComponentDescriptor.title = mParser.text().toString();
   225     mComponentDescriptor.setTitle(mParser.text().toString());
   223 }
   226 }
   224 
   227 
   225 /*!
   228 /*!
   226     Parse description.
   229     Parse description.
   227 */
   230 */
   229 {
   232 {
   230     mParser.readNext();
   233     mParser.readNext();
   231     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   234     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   232 		return;
   235 		return;
   233 	}
   236 	}
   234     mComponentDescriptor.description = mParser.text().toString();
   237     mComponentDescriptor.setDescription(mParser.text().toString());
   235 }
   238 }
   236 
   239 
   237 /*!
   240 /*!
   238     Parse hidden.
   241     Parse hidden.
   239 */
   242 */
   241 {
   244 {
   242     mParser.readNext();
   245     mParser.readNext();
   243     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   246     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   244 		return;
   247 		return;
   245 	}
   248 	}
   246     mComponentDescriptor.hidden = mParser.text().toString();
   249     mComponentDescriptor.setHidden(mParser.text().toString());
   247 }
   250 }
   248 
   251 
   249 /*!
   252 /*!
   250     Parse service xml.
   253     Parse service xml.
   251 */
   254 */
   253 {
   256 {
   254     mParser.readNext();
   257     mParser.readNext();
   255     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   258     if(mParser.tokenType() != QXmlStreamReader::Characters) {
   256 		return;
   259 		return;
   257 	}
   260 	}
   258     mComponentDescriptor.serviceXml = mParser.text().toString();
   261     mComponentDescriptor.setServiceXml(mParser.text().toString());
   259 }
   262 }
   260 
   263 /*!
       
   264     Parse service translation file name.
       
   265 */
       
   266 void HsWidgetComponentParser::parseTranslationFilename()
       
   267 {
       
   268     mParser.readNext();
       
   269     if(mParser.tokenType() != QXmlStreamReader::Characters) {
       
   270 		return;
       
   271 	}
       
   272     mComponentDescriptor.setTranslationFilename(mParser.text().toString());
       
   273 }