0.9.8.10
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Readdir.h
Go to the documentation of this file.
1 /* -*- c++ -*-
2  * Copyright (C) 2007-2015 Hypertable, Inc.
3  *
4  * This file is part of Hypertable.
5  *
6  * Hypertable is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 3
9  * of the License, or any later version.
10  *
11  * Hypertable is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19  * 02110-1301, USA.
20  */
21 
26 
27 #ifndef FsBroker_Lib_Response_Parameters_Readdir_h
28 #define FsBroker_Lib_Response_Parameters_Readdir_h
29 
30 #include <Common/Filesystem.h>
31 #include <Common/Serializable.h>
32 
33 #include <string>
34 #include <vector>
35 
36 using namespace std;
37 
38 namespace Hypertable {
39 namespace FsBroker {
40 namespace Lib {
41 namespace Response {
42 namespace Parameters {
43 
46 
48  class Readdir : public Serializable {
49  public:
50 
53  Readdir() {}
54 
59  Readdir(std::vector<Filesystem::Dirent> &listing) : m_listing(listing) {}
60 
63  void get_listing(std::vector<Filesystem::Dirent> &listing) {
64  listing = m_listing;
65  }
66 
67  private:
68 
69  uint8_t encoding_version() const override;
70 
71  size_t encoded_length_internal() const override;
72 
73  void encode_internal(uint8_t **bufp) const override;
74 
75  void decode_internal(uint8_t version, const uint8_t **bufp,
76  size_t *remainp) override;
77 
79  std::vector<Filesystem::Dirent> m_listing;
80  };
81 
83 
84 }}}}}
85 
86 #endif // FsBroker_Lib_Response_Parameters_Readdir_h
Abstract base class for a filesystem.
STL namespace.
Readdir(std::vector< Filesystem::Dirent > &listing)
Constructor.
Definition: Readdir.h:59
Response parameters for readdir requests.
Definition: Readdir.h:48
Declarations for Serializable.
Hypertable definitions
Mixin class that provides a standard serialization interface.
Definition: Serializable.h:65
std::vector< Filesystem::Dirent > m_listing
Directory listing.
Definition: Readdir.h:79
void get_listing(std::vector< Filesystem::Dirent > &listing)
Gets directory listing.
Definition: Readdir.h:63