00001 /* 00002 This file is part of the OPIE Project 00003 00004 =. Copyright (c) 2002 Andy Qua <andy.qua@blueyonder.co.uk> 00005 .=l. Dan Williams <drw@handhelds.org> 00006 .>+-= 00007 _;:, .> :=|. This file is free software; you can 00008 .> <`_, > . <= redistribute it and/or modify it under 00009 :`=1 )Y*s>-.-- : the terms of the GNU General Public 00010 .="- .-=="i, .._ License as published by the Free Software 00011 - . .-<_> .<> Foundation; either version 2 of the License, 00012 ._= =} : or (at your option) any later version. 00013 .%`+i> _;_. 00014 .i_,=:_. -<s. This file is distributed in the hope that 00015 + . -:. = it will be useful, but WITHOUT ANY WARRANTY; 00016 : .. .:, . . . without even the implied warranty of 00017 =_ + =;=|` MERCHANTABILITY or FITNESS FOR A 00018 _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU General 00019 ..}^=.= = ; Public License for more details. 00020 ++= -. .` .: 00021 : = ...= . :.=- You should have received a copy of the GNU 00022 -. .:....=;==+<; General Public License along with this file; 00023 -_. . . )=. = see the file COPYING. If not, write to the 00024 -- :-=` Free Software Foundation, Inc., 00025 59 Temple Place - Suite 330, 00026 Boston, MA 02111-1307, USA. 00027 00028 */ 00029 00030 #include "package.h" 00031 #include "global.h" 00032 00033 #include <qobject.h> 00034 00035 Package::Package( QString &name ) 00036 { 00037 packageName = name; 00038 00039 QString tempstr = QObject::tr( "N/A" ); 00040 version = tempstr; 00041 description = tempstr; 00042 packageSize = tempstr; 00043 section = tempstr; 00044 00045 localPackage = 0; 00046 installed = false; 00047 packageStoredLocally = false; 00048 installedToRoot = false; 00049 installed = false; 00050 installedTo = 0; 00051 } 00052 00053 Package::Package( char *name ) 00054 { 00055 packageName = name; 00056 00057 QString tempstr = QObject::tr( "N/A" ); 00058 version = tempstr; 00059 description = tempstr; 00060 packageSize = tempstr; 00061 section = tempstr; 00062 00063 localPackage = 0; 00064 installed = false; 00065 packageStoredLocally = false; 00066 installedToRoot = false; 00067 installed = false; 00068 installedTo = 0; 00069 differentVersionAvailable = false; 00070 } 00071 00072 Package::~Package() 00073 { 00074 } 00075 00076 QString Package :: toString() 00077 { 00078 QString ret = QObject::tr( "Package - %1\n version - %2" ). 00079 arg( getPackageName() ). 00080 arg( getVersion() ); 00081 00082 if ( localPackage ) 00083 ret.append( QObject::tr( "\n inst version - %1" ).arg( localPackage->getVersion() ) ); 00084 00085 00086 return ret; 00087 } 00088 00089 void Package :: setStatus( const QString &s ) 00090 { 00091 QString state_status; 00092 int two, three; 00093 00094 status = s.simplifyWhiteSpace( ); 00095 00096 two = status.find( " " ); // find second column 00097 three = status.find( " ", two + 1 ); // find third column 00098 00099 state_status = status.mid( three ).stripWhiteSpace( ); 00100 00101 if ( state_status == "installed" ) 00102 installed = true; 00103 } 00104 00105 void Package :: setLocalPackage( Package *p ) 00106 { 00107 localPackage = p; 00108 00109 if ( localPackage ) 00110 if ( localPackage->getVersion() < getVersion() && !installed ) 00111 differentVersionAvailable = true; 00112 else 00113 differentVersionAvailable = false; 00114 } 00115 00116 void Package :: setVersion( const QString &v ) 00117 { 00118 version = v; 00119 differentVersionAvailable = false; 00120 00121 if ( localPackage ) 00122 if ( localPackage->getVersion() < getVersion() && !installed ) 00123 differentVersionAvailable = true; 00124 else 00125 differentVersionAvailable = false; 00126 } 00127 00128 void Package :: setPackageName( const QString &name ) 00129 { 00130 packageName = name; 00131 } 00132 00133 void Package :: setDescription( const QString &d ) 00134 { 00135 description = d; 00136 } 00137 00138 void Package :: setFilename( const QString &f ) 00139 { 00140 filename = f; 00141 } 00142 00143 00144 QString Package :: getInstalledVersion() 00145 { 00146 if ( localPackage ) 00147 return localPackage->getVersion(); 00148 else 00149 return getVersion(); 00150 } 00151 00152 QString Package :: getInstalledPackageName() 00153 { 00154 if ( localPackage ) 00155 return localPackage->getPackageName(); 00156 else 00157 return getPackageName(); 00158 } 00159 00160 bool Package :: isInstalled() 00161 { 00162 return installed || ( localPackage && localPackage->isInstalled() ); 00163 }
1.4.2