1/********************************************************************
2 * Copyright (c) 2013 - 2014, Pivotal Inc.
3 * All rights reserved.
4 *
5 * Author: Zhanwei Wang
6 ********************************************************************/
7/********************************************************************
8 * 2014 -
9 * open source under Apache License Version 2.0
10 ********************************************************************/
11/**
12 * Licensed to the Apache Software Foundation (ASF) under one
13 * or more contributor license agreements. See the NOTICE file
14 * distributed with this work for additional information
15 * regarding copyright ownership. The ASF licenses this file
16 * to you under the Apache License, Version 2.0 (the
17 * "License"); you may not use this file except in compliance
18 * with the License. You may obtain a copy of the License at
19 *
20 * http://www.apache.org/licenses/LICENSE-2.0
21 *
22 * Unless required by applicable law or agreed to in writing, software
23 * distributed under the License is distributed on an "AS IS" BASIS,
24 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 * See the License for the specific language governing permissions and
26 * limitations under the License.
27 */
28#ifndef _HDFS_LIBHDFS_SERVER_NAMENODEINFO_H_
29#define _HDFS_LIBHDFS_SERVER_NAMENODEINFO_H_
30
31#include "XmlConfig.h"
32
33#include <string>
34#include <vector>
35
36namespace Hdfs {
37
38class NamenodeInfo {
39public:
40 NamenodeInfo();
41
42 const std::string & getHttpAddr() const {
43 return http_addr;
44 }
45
46 void setHttpAddr(const std::string & httpAddr) {
47 http_addr = httpAddr;
48 }
49
50 const std::string & getRpcAddr() const {
51 return rpc_addr;
52 }
53
54 void setRpcAddr(const std::string & rpcAddr) {
55 rpc_addr = rpcAddr;
56 }
57
58 static std::vector<NamenodeInfo> GetHANamenodeInfo(const std::string & service, const Config & conf);
59
60private:
61 std::string rpc_addr;
62 std::string http_addr;
63};
64
65}
66
67#endif /* _HDFS_LIBHDFS_SERVER_NAMENODEINFO_H_ */
68