Gazebo Fuel_tools

API Reference

9.1.0
WorldIdentifier.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 
18 #ifndef GZ_FUEL_TOOLS_WORLDIDENTIFIER_HH_
19 #define GZ_FUEL_TOOLS_WORLDIDENTIFIER_HH_
20 
21 #include <memory>
22 #include <string>
23 
24 #include "gz/fuel_tools/Helpers.hh"
25 
26 #ifdef _WIN32
27 // Disable warning C4251 which is triggered by
28 // std::unique_ptr
29 #pragma warning(push)
30 #pragma warning(disable: 4251)
31 #endif
32 
33 namespace gz::fuel_tools
34 {
36  class WorldIdentifierPrivate;
37  class ServerConfig;
38 
40  class GZ_FUEL_TOOLS_VISIBLE WorldIdentifier
41  {
43  public: WorldIdentifier();
44 
47  public: WorldIdentifier(const WorldIdentifier &_orig);
48 
50  public: ~WorldIdentifier();
51 
55  public: WorldIdentifier &operator=(const WorldIdentifier &_orig);
56 
60  public: bool operator==(const WorldIdentifier &_rhs) const;
61 
64  public: std::string Name() const;
65 
69  public: bool SetName(const std::string &_name);
70 
73  public: std::string Owner() const;
74 
78  public: bool SetOwner(const std::string &_name);
79 
82  public: ServerConfig &Server() const;
83 
87  public: bool SetServer(const ServerConfig &_server);
88 
94  public: unsigned int Version() const;
95 
101  public: std::string VersionStr() const;
102 
109  public: bool SetVersion(const unsigned int _version);
110 
117  public: bool SetVersionStr(const std::string &_version);
118 
122  public: std::string LocalPath() const;
123 
127  public: bool SetLocalPath(const std::string &_path);
128 
132  public: std::string UniqueName() const;
133 
136  public: gz::common::URI Url() const;
137 
138  // /// \brief Sets the SHA 2 256 hash of the world
139  // /// \param[in] _hash a 256 bit SHA 2 hash
140  // /// \returns true if successful
141  // public: bool SHA_256(const std::array<std::uint8_t, 32> &_hash);
142 
147  public: std::string AsString(const std::string &_prefix = "") const;
148 
153  public: std::string AsPrettyString(const std::string &_prefix = "") const;
154 
158  public: bool Private() const;
159 
163  public: void SetPrivate(bool _private);
164 
167  };
168 } // namespace gz::fuel_tools
169 
170 #ifdef _MSC_VER
171 #pragma warning(pop)
172 #endif
173 
174 #endif // GZ_FUEL_TOOLS_WORLDIDENTIFIER_HH_