10#include <QSharedPointer> 
   14#include <boost/foreach.hpp> 
   17#include "IException.h" 
   18#include "PvlContainer.h" 
   19#include "PvlFlatMap.h" 
   20#include "PvlKeyword.h" 
   69                                              m_discard( other.m_discard ) {
 
 
   83                     m_discard( other.m_discard ) { 
 
   84    if ( deepcopy ) { 
m_data.detach(); }
 
 
  115    return ( 
m_data->m_name );
 
 
  125    m_data->m_name = identity;
 
  126    add(
"Identity", identity);
 
 
  143    return ( 
name().toLower() == other.name().toLower() );
 
 
  156    return ( 
m_data->m_keys.exists(keywordName) );
 
 
  170    return ( 
m_data->m_keys.count(keywordName) );
 
 
  188    return ( 
m_data->m_keys.isNull(keywordName, index) );
 
 
  199    return ( 
m_data->m_keys );
 
 
  225    return ( 
m_data->m_keys.get(keywordName, index) );
 
 
  252                          const int &index)
 const {
 
  253    QString keywordValue(defaultValue);
 
  254    if ( !
isNull(keywordName, index) ) {
 
  255      keywordValue = 
value(keywordName, index);
 
  257    return (keywordValue);
 
 
  271    if ( 
m_data->m_keys.exists(keywordName) ) {
 
  272      return ( 
m_data->m_keys.keyword(keywordName) );
 
 
  286  void Resource::add(
const QString &keywordName, 
const QString &keywordValue) {
 
  287     m_data->m_keys.add(keywordName, keywordValue);
 
 
  328    m_data->m_keys.append(keywordName, keywordValue);
 
 
  342    return ( 
m_data->m_keys.erase(keywordName) );
 
 
  379    return ( !
m_data->m_geom.isNull() );
 
 
  391      return ( !
m_data->m_geom->isEmpty() );
 
 
  404    return ( 
m_data->m_geom );
 
 
  453    return ( 
m_data->m_assets.contains(assetName.toLower()) );
 
 
  464    m_data->m_assets.insert(assetName.toLower(), assetValue);
 
 
  478    return ( 
m_data->m_assets.remove(assetName.toLower()) );
 
 
  488    int n = 
m_data->m_assets.size();
 
 
  507                        "Requested asset " + assetName + 
" does not exist.", 
 
  510    return ( 
m_data->m_assets.value(assetName.toLower()) );
 
 
  550    if ( !withAssets ) { resource->clearAssets(); }
 
  551    resource->activate();
 
 
  569    while (  key != 
m_data->m_keys.end() ) {
 
  570      object.addKeyword(key.value());
 
 
Encapsulation class provides support for GEOS-C API.
 
@ Programmer
This error is for when a programmer made an API call that was illegal.
 
Contains more than one keyword-value pair.
 
Provides a flat map of PvlKeywords.
 
QMap< QString, PvlKeyword >::const_iterator ConstPvlFlatMapIterator
A const iterator for the underling QMap that PvlFlatMap is built on.
 
A single keyword-value pair.
 
Contains Pvl Groups and Pvl Objects.
 
Shared Resource data pointer.
 
This class provides a resource of PVL keywords for Strategy classes.
 
int erase(const QString &keywordName)
Removes all of the PVL keywords in this Resource that are associated with the given name.
 
bool hasAsset(const QString &assetName) const
This method is used to determine whether an asset with the given name is in this Resource.
 
void addAsset(const QString &assetName, QVariant &assetValue)
Inserts an asset with the given name and value into this Resource's VariantList.
 
bool isDiscarded() const
Accessor method to determine whether this Resource is to be discarded.
 
int removeAsset(const QString &assetName)
Removes all of the assets in this Resource that are mapped to the given name.
 
bool isNull(const QString &keywordName, const int keywordIndex=0) const
Determines whether the PVL keyword with the given name at the given index is null.
 
int clearAssets()
Clears the assets from this Resource's VariantList.
 
SharedGisGeometry geometry() const
Accessor method for this Resource's GIS geometry.
 
QString value(const QString &keywordName, const int &keywordIndex=0) const
Gets the value of the PVL keyword with the given name at the given index.
 
bool exists(const QString &keywordName) const
Determines whether a PVL keyword with the given name is in this Resource.
 
bool m_discard
A flag to indicate whether the Resource is inactive.
 
void activate()
Activate a resource.
 
const PvlFlatMap & keys() const
Accessor method for the PVL keywords associated with this Resource.
 
bool isActive() const
Accessor method to determine whether this Resource is to be discarded.
 
bool hasGeometry() const
This method is used to determine whether the GIS geometry has been set for this Resource.
 
void setName(const QString &identity)
A mutator to set the Resource's name.
 
virtual Resource * copy() const
Copy this resource for distinct management of its status.
 
Resource()
Default constructor for a Resource object.
 
QString name() const
Accessor for a string containing the Resource's name.
 
QVariant asset(const QString &assetName) const
Retrieves the value of the asset in this Resource that is mapped to the given name.
 
QExplicitlySharedDataPointer< ResourceData > m_data
Explicitly managed pointer to Resource data.
 
virtual ~Resource()
Destroys the Resource object.
 
bool hasValidGeometry() const
This method is used to determine whether a valid GIS geometry has been set for this Resource.
 
int count(const QString &keywordName) const
Counts the number of values the PVL keyword with the given name has, if it exists in this Resource.
 
void add(const QString &keywordName, const QString &keywordValue)
Adds a PVL keyword with the given name and value to this Resource.
 
PvlKeyword keyword(const QString &keywordName) const
Gets the PvlKeyword object with the given name, if it exists in this Resource.
 
void append(const QString &keywordName, const QString &keywordValue)
Appends the given value to the PVL keyword with the given name.
 
bool isEqual(const Resource &other) const
Checks for equality of another Resource.
 
virtual Resource * clone(const QString &name, const bool &withAssets=false) const
Clone this resource for additional specialized use.
 
virtual PvlObject toPvl(const QString &pvlName="Resource") const
Transfer all keywords in map to a PvlObject.
 
void discard()
Discard a resource.
 
This is free and unencumbered software released into the public domain.
 
QSharedPointer< GisGeometry > SharedGisGeometry
Definition for a SharedGisGeometry, a shared pointer to a GisGeometry.
 
Namespace for the standard library.