/usr/include/cupt/cache/package.hpp is in libcupt2-dev 2.3.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | /**************************************************************************
* Copyright (C) 2010 by Eugene V. Lyubimkin *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License *
* (version 3 or above) as published by the Free Software Foundation. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU GPL *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA *
**************************************************************************/
#ifndef CUPT_CACHE_PACKAGE_SEEN
#define CUPT_CACHE_PACKAGE_SEEN
/// @file
#include <cupt/cache/version.hpp>
namespace cupt {
namespace cache {
/// a container for all versions of the same package name
class CUPT_API Package
{
mutable vector< Version::InitializationParameters > __unparsed_versions;
mutable vector< shared_ptr< Version > >* __parsed_versions;
CUPT_LOCAL void __merge_version(const shared_ptr< Version >&, vector< shared_ptr< Version > >& result) const;
Package(const Package&);
Package& operator=(const Package&);
protected:
/// @cond
shared_ptr< const string > _binary_architecture;
CUPT_LOCAL vector< shared_ptr< Version > > _get_versions() const;
CUPT_LOCAL virtual shared_ptr< Version > _parse_version(const Version::InitializationParameters&) const = 0;
CUPT_LOCAL virtual bool _is_architecture_appropriate(const shared_ptr< const Version >&) const = 0;
/// @endcond
public:
/// constructor
/**
* @param binaryArchitecture binary architecture of the system
*/
Package(const shared_ptr< const string >& binaryArchitecture);
/// destructor
virtual ~Package();
/// adds new element (version initialization parameters) to the container
void addEntry(const Version::InitializationParameters&);
/// gets list of versions
vector< shared_ptr< const Version > > getVersions() const;
/// gets version with a certain Version::versionString
/**
* @return version if found, empty pointer if not found
* @param versionString version string
*/
shared_ptr< const Version > getSpecificVersion(const string& versionString) const;
/// memoize parsed versions
static bool memoize;
};
}
}
#endif
|