Line data Source code
1 : /**
2 : * Copyright Soramitsu Co., Ltd. All Rights Reserved.
3 : * SPDX-License-Identifier: Apache-2.0
4 : */
5 :
6 : #include "backend/protobuf/commands/proto_create_asset.hpp"
7 :
8 : namespace shared_model {
9 : namespace proto {
10 :
11 : template <typename CommandType>
12 : CreateAsset::CreateAsset(CommandType &&command)
13 3508 : : CopyableProto(std::forward<CommandType>(command)),
14 3508 : create_asset_{proto_->create_asset()},
15 : precision_{[this] { return create_asset_.precision(); }} {}
16 :
17 : template CreateAsset::CreateAsset(CreateAsset::TransportType &);
18 : template CreateAsset::CreateAsset(const CreateAsset::TransportType &);
19 : template CreateAsset::CreateAsset(CreateAsset::TransportType &&);
20 :
21 : CreateAsset::CreateAsset(const CreateAsset &o) : CreateAsset(o.proto_) {}
22 :
23 : CreateAsset::CreateAsset(CreateAsset &&o) noexcept
24 3508 : : CreateAsset(std::move(o.proto_)) {}
25 :
26 : const interface::types::AssetNameType &CreateAsset::assetName() const {
27 1402 : return create_asset_.asset_name();
28 : }
29 :
30 : const interface::types::DomainIdType &CreateAsset::domainId() const {
31 1402 : return create_asset_.domain_id();
32 : }
33 :
34 : const CreateAsset::PrecisionType &CreateAsset::precision() const {
35 1402 : return *precision_;
36 : }
37 :
38 : } // namespace proto
39 : } // namespace shared_model
|