Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

package.cpp

Go to the documentation of this file.
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 }

Generated on Sat Nov 5 16:17:47 2005 for OPIE by  doxygen 1.4.2