UpdateFileStorageClassRequest.hpp 1.75 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
20
21
22
23
24
 */

#pragma once

#include <list>
#include <map>
#include <stdint.h>
#include <string>

25
#include "common/dataStructures/DiskFileInfo.hpp"
26
#include "common/dataStructures/RequesterIdentity.hpp"
27
28
29
30
31

namespace cta {
namespace common {
namespace dataStructures {

32
/**
33
34
 * This struct holds all the command line parameters of a CTA 
 * UpdateFileStorageClass command 
35
36
37
38
39
40
41
42
43
 */
struct UpdateFileStorageClassRequest {

  UpdateFileStorageClassRequest();

  bool operator==(const UpdateFileStorageClassRequest &rhs) const;

  bool operator!=(const UpdateFileStorageClassRequest &rhs) const;

44
  RequesterIdentity requester;
45
46
  uint64_t archiveFileID;
  std::string storageClass;
47
  DiskFileInfo diskFileInfo;
48
49
50

}; // struct UpdateFileStorageClassRequest

51
52
std::ostream &operator<<(std::ostream &os, const UpdateFileStorageClassRequest &obj);

53
54
55
} // namespace dataStructures
} // namespace common
} // namespace cta