#ifndef VUTIL_H
#define VUTIL_H
+#include "vserver.hh"
+
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
#endif
-FILE *vutil_execdistcmd (const char *, const string &, const char *);
+FILE *vutil_execdistcmd (const char *, Vserver const &, const char *);
extern const char K_DUMPFILES[];
extern const char K_UNIFILES[];
extern const char K_PKGVERSION[];
-class PACKAGE{
+class Package{
public:
string name;
string version; // version + release
- PACKAGE(string &_name, string &_version)
+ Package(string &_name, string &_version)
: name (_name), version(_version)
{
}
- PACKAGE(const char *_name, const char *_version)
+ Package(const char *_name, const char *_version)
: name (_name), version(_version)
{
}
- PACKAGE(const string &line)
+ Package(const string &line)
{
*this = line;
}
- PACKAGE & operator = (const string &_line)
+ Package & operator = (const string &_line)
{
string line (_line);
string::iterator pos = find (line.begin(),line.end(),'=');
}
return *this;
}
- PACKAGE (const PACKAGE &pkg)
+ Package (const Package &pkg)
{
name = pkg.name;
version = pkg.version;
}
- bool operator == (const PACKAGE &v) const
+ bool operator == (const Package &v) const
{
return name == v.name && version == v.version;
}
- bool operator < (const PACKAGE &v) const
+ bool operator < (const Package &v) const
{
bool ret = false;
if (name < v.name){
return ret;
}
// Load the file member of the package, but exclude configuration file
- void loadfiles(const string &ref, set<string> &files)
+ void loadfiles(Vserver const &ref, set<string> &files)
{
if (debug > 2) cout << "Loading files for package " << name << endl;
string namever = name + '-' + version;
// Check if two package have the same name (but potentially different version)
class same_name{
- const PACKAGE &pkg;
+ const Package &pkg;
public:
- same_name(const PACKAGE &_pkg) : pkg(_pkg) {}
- bool operator()(const PACKAGE &p)
+ same_name(const Package &_pkg) : pkg(_pkg) {}
+ bool operator()(const Package &p)
{
return pkg.name == p.name;
}