cluster::ApplicationData Class Reference

#include <ApplicationData.h>

Inheritance diagram for cluster::ApplicationData:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 ApplicationData (const vpr::GUID &guid, const std::string &hostName)
 Construct a new ApplicationData object.
virtual ~ApplicationData ()
bool isLocal ()
 Returns true if this object should be updated by the local node.
void setIsLocal (bool local)
 Set the boolean value that determines if the local node should be responsible for updating this object.
const vpr::GUID & getId () const
 Return the GUID for this object.
const std::string & getHostname () const
 Return the hostname of the node that should update this object.
void setHostname (const std::string &hostname)
 Return the hostname of the node that should update this object.

Detailed Description

Definition at line 46 of file ApplicationData.h.


Constructor & Destructor Documentation

cluster::ApplicationData::ApplicationData ( const vpr::GUID &  guid,
const std::string &  hostName 
) [inline]

Construct a new ApplicationData object.

Parameters:
guid The GUID used to reference this object.
hostName The hostname of the node that should be responsible for updating this object.

Definition at line 56 of file ApplicationData.h.

References cluster::ClusterPlugin::addSerializableObject(), and gadgetDBG_RIM().

00057       : mIsLocal(false)
00058       , mId(guid)
00059       , mHostname(hostName)
00060    {
00061       ClusterPlugin* app_data_mgr =
00062          ClusterManager::instance()->getPluginByGUID(
00063             vpr::GUID("cc6ca39f-03f2-4779-aa4b-048f774ff9a5")
00064          );
00065 
00066       if (NULL != app_data_mgr)
00067       {
00068          app_data_mgr->addSerializableObject(this);
00069       }
00070       else
00071       {
00072          vprDEBUG(gadgetDBG_RIM, vprDBG_WARNING_LVL)
00073             << clrOutBOLD(clrYELLOW, "WARNING:")
00074             << " Can not register ApplicationData with non-existent "
00075             << "Application Data Manager." << std::endl << vprDEBUG_FLUSH;
00076          vprDEBUG_NEXT(gadgetDBG_RIM, vprDBG_WARNING_LVL)
00077             << "In order to synchronize ApplicationData across a cluster, "
00078             << "you must load the ApplicationDataManager cluster plug-in."
00079             << std::endl << vprDEBUG_FLUSH;
00080 
00081          // If we are not using the cluster, then we want the data to be local,
00082          // even if the hostnames do not match. This will allow us to run the
00083          // apps anywhere without recompiling.
00084          mIsLocal = true;
00085       }
00086    }

virtual cluster::ApplicationData::~ApplicationData (  )  [inline, virtual]

Definition at line 88 of file ApplicationData.h.

00089    {
00090       ;
00091    }


Member Function Documentation

bool cluster::ApplicationData::isLocal (  )  [inline]

Returns true if this object should be updated by the local node.

Definition at line 96 of file ApplicationData.h.

00097    {
00098       return mIsLocal;
00099    }

void cluster::ApplicationData::setIsLocal ( bool  local  )  [inline]

Set the boolean value that determines if the local node should be responsible for updating this object.

Definition at line 105 of file ApplicationData.h.

Referenced by cluster::ApplicationDataManager::addSerializableObject().

00106    {
00107       mIsLocal = local;
00108    }

const vpr::GUID& cluster::ApplicationData::getId (  )  const [inline]

Return the GUID for this object.

Definition at line 113 of file ApplicationData.h.

Referenced by cluster::ApplicationDataManager::addSerializableObject(), cluster::ApplicationDataServer::getId(), and cluster::ApplicationDataManager::removeApplicationData().

00114    {
00115       return mId;
00116    }

const std::string& cluster::ApplicationData::getHostname (  )  const [inline]

Return the hostname of the node that should update this object.

Definition at line 121 of file ApplicationData.h.

Referenced by cluster::ApplicationDataManager::addSerializableObject(), and cluster::ApplicationDataManager::removeApplicationData().

00122    {
00123       return mHostname;
00124    }

void cluster::ApplicationData::setHostname ( const std::string &  hostname  )  [inline]

Return the hostname of the node that should update this object.

Definition at line 129 of file ApplicationData.h.

00130    {
00131       mHostname = hostname;
00132    }


The documentation for this class was generated from the following file:
Generated on Thu Jan 4 10:44:26 2007 for Gadgeteer by  doxygen 1.5.1