00001 /* 00002 * Copyright (c) 2004 on behalf of the EU EGEE Project: 00003 * The European Organization for Nuclear Research (CERN), 00004 * Istituto Nazionale di Fisica Nucleare (INFN), Italy 00005 * Datamat Spa, Italy 00006 * Centre National de la Recherche Scientifique (CNRS), France 00007 * CS Systeme d'Information (CSSI), France 00008 * Royal Institute of Technology, Center for Parallel Computers (KTH-PDC), Sweden 00009 * Universiteit van Amsterdam (UvA), Netherlands 00010 * University of Helsinki (UH.HIP), Finland 00011 * University of Bergen (UiB), Norway 00012 * Council for the Central Laboratory of the Research Councils (CCLRC), United Kingdom 00013 */ 00014 #ifndef PRODUCERTABLEENTRY_H 00015 #define PRODUCERTABLEENTRY_H 00016 #include "rgma/ResourceEndpoint.h" 00017 #include "rgma/ProducerType.h" 00018 #include <string> 00019 00020 namespace glite 00021 { 00022 namespace rgma 00023 { 00027 class ProducerTableEntry 00028 { 00029 public: 00030 ProducerTableEntry(ResourceEndpoint endpoint = ResourceEndpoint(), std::string tableName = "", 00031 ProducerType producerType = ProducerType(), int hrpSec = 0, std::string qosAttrib = ""); 00032 ~ProducerTableEntry(); 00033 ProducerTableEntry( const ProducerTableEntry& type ); 00034 ProducerTableEntry& operator=(const ProducerTableEntry& type ); 00035 bool operator==(const ProducerTableEntry& type ); 00041 ResourceEndpoint getEndpoint(); 00042 00046 ProducerType getProducerType(); 00050 int getRetentionPeriod(); 00051 00055 std::string getTableName(); 00059 std::string getQosAttrib(); 00060 00061 private: 00065 ResourceEndpoint m_endpoint; 00066 00070 std::string m_tableName; 00071 00075 ProducerType m_producerType; 00076 00080 int m_hrpSec; 00081 00085 std::string m_qosAttrib; 00086 }; 00087 std::ostream& operator<<( std::ostream& stream, ProducerTableEntry pte); 00088 } 00089 } 00090 #endif