MountType.cpp 1.86 KB
Newer Older
1
/*
2
 * @project        The CERN Tape Archive (CTA)
3
 * @copyright      Copyright(C) 2015-2021 CERN
4
5
6
7
 * @license        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.
8
 *
9
10
11
12
 *                 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.
13
 *
14
15
 *                 You should have received a copy of the GNU General Public License
 *                 along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17
18
19
 */

#include "common/dataStructures/MountType.hpp"

20
21
22
23
24
namespace cta {
namespace common {
namespace dataStructures {

std::string toString(cta::common::dataStructures::MountType type) {
25
  switch(type) {
26
    case MountType::ArchiveForUser:
27
      return "ArchiveForUser";
28
    case MountType::ArchiveForRepack:
29
      return "ArchiveForRepack";
30
31
32
    case MountType::ArchiveAllTypes:
      return "ArchiveAllTypes";
    case MountType::Retrieve:
33
      return "Retrieve";
34
    case MountType::Label:
35
      return "Label";
36
    case MountType::NoMount:
37
      return "-";
38
39
40
41
    default:
      return "UNKNOWN";
  }
}
42

43
44
45
46
47
48
49
50
51
52
53
MountType getMountBasicType(MountType type) {
  switch(type) {
    case MountType::ArchiveForUser:
    case MountType::ArchiveForRepack:
      return MountType::ArchiveAllTypes;
    default:
      return type;
  }
}

std::ostream & operator<<(std::ostream &os, 
54
55
56
  const cta::common::dataStructures::MountType &obj) {
  return os << toString(obj);
}
57
58

}}} // namespace cta::common::dataStructures