Skip to content
Snippets Groups Projects
Commit 29124687 authored by Eric Cano's avatar Eric Cano
Browse files

Created the object store type TapePool (now with the new files).

parent e27a35d6
No related branches found
No related tags found
No related merge requests found
/*
* The CERN Tape Archive (CTA) project
* Copyright (C) 2015 CERN
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* 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 General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "TapePool.hpp"
cta::objectstore::TapePool::TapePool(const std::string& address, Backend& os):
ObjectOps<serializers::TapePool>(os, address) { }
void cta::objectstore::TapePool::initialize(const std::string& name) {
// Setup underlying object
ObjectOps<serializers::TapePool>::initialize();
// Setup the object so it's valid
m_payload.set_name(name);
// This object is good to go (to storage)
m_payloadInterpreted = true;
}
/*
* The CERN Tape Archive (CTA) project
* Copyright (C) 2015 CERN
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* 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 General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "Backend.hpp"
#include "ObjectOps.hpp"
#include <string>
#include "objectstore/cta.pb.h"
namespace cta { namespace objectstore {
class TapePool: public ObjectOps<serializers::TapePool> {
public:
// Constructor
TapePool(const std::string & address, Backend & os);
// In memory initialiser
void initialize(const std::string & name);
// Set/get name
void setName(const std::string & name);
std::string getName();
// Check that the tape pool is empty (of both tapes and jobs)
bool isEmpty();
};
}}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment