Commit ce056580 authored by Eric Cano's avatar Eric Cano
Browse files

Added missing files.

parent d523ec22
/*
* 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 "LabelMount.hpp"
namespace cta {
LabelMount::LabelMount(catalogue::Catalogue& catalogue): m_catalogue(catalogue) {
throw 0;
// TODO
}
void LabelMount::abort() {
throw 0;
// TODO
}
std::string LabelMount::getMountTransactionId() const {
throw 0;
// TODO
}
MountType::Enum LabelMount::getMountType() const {
throw 0;
// TODO
}
uint32_t LabelMount::getNbFiles() const {
throw 0;
// TODO
}
std::string LabelMount::getPoolName() const {
throw 0;
// TODO
}
std::string LabelMount::getVid() const {
throw 0;
// TODO
}
void LabelMount::setDriveStatus(cta::common::DriveStatus status) {
throw 0;
// TODO
}
LabelMount::LabelMount(catalogue::Catalogue& catalogue, std::unique_ptr<cta::SchedulerDatabase::LabelMount> dbMount):
m_catalogue(catalogue) {
throw 0;
// TODO;
}
LabelMount::~LabelMount() {
//TODO
}
} // namespace cta.
\ No newline at end of file
/*
* 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 "common/exception/Exception.hpp"
#include "scheduler/SchedulerDatabase.hpp"
#include "scheduler/TapeMount.hpp"
#include "catalogue/Catalogue.hpp"
#include <memory>
#include <atomic>
namespace cta {
/**
* The class driving a retrieve mount.
* The class only has private constructors as it is instanciated by
* the Scheduler class.
*/
class LabelMount: public TapeMount {
friend class Scheduler;
protected:
/**
* Constructor.
*/
LabelMount(catalogue::Catalogue & catalogue);
/**
* Constructor.
*
* @param dbMount The database representation of this mount.
*/
LabelMount(catalogue::Catalogue & catalogue, std::unique_ptr<cta::SchedulerDatabase::LabelMount> dbMount);
public:
CTA_GENERATE_EXCEPTION_CLASS(WrongMountType);
CTA_GENERATE_EXCEPTION_CLASS(NotImplemented);
/**
* Returns The type of this tape mount.
*
* @return The type of this tape mount.
*/
MountType::Enum getMountType() const override;
/**
* Returns the volume identifier of the tape to be mounted.
*
* @return The volume identifier of the tape to be mounted.
*/
std::string getVid() const override;
/**
* Returns the mount transaction id.
*
* @return The mount transaction id.
*/
std::string getMountTransactionId() const override;
/**
* Indicates that the mount was cancelled.
*/
void abort() override;
/**
* Report a drive status change
*/
void setDriveStatus(cta::common::DriveStatus status) override;
CTA_GENERATE_EXCEPTION_CLASS(SessionNotRunning);
/**
* Returns the tape pool of the tape to be mounted.
*
* @return The tape pool of the tape to be mounted.
*/
virtual std::string getPoolName() const;
/**
* Returns the mount transaction id.
*
* @return The mount transaction id.
*/
uint32_t getNbFiles() const override;
/**
* Destructor.
*/
virtual ~LabelMount() throw();
protected:
/**
* The database representation of this mount.
*/
std::unique_ptr<cta::SchedulerDatabase::ArchiveMount> m_dbMount;
/**
* A reference to the file catalogue.
*/
catalogue::Catalogue & m_catalogue;
/**
* Internal tracking of the session completion
*/
std::atomic<bool> m_sessionRunning;
}; // class ArchiveMount
} // namespace cta
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment