4 #ifndef DJINNI_GENERATED_OPERATION_HPP 5 #define DJINNI_GENERATED_OPERATION_HPP 7 #include "../utils/optional.hpp" 13 #ifndef LIBCORE_EXPORT 15 #include <libcore_export.h> 17 #define LIBCORE_EXPORT 21 namespace ledger {
namespace core {
namespace api {
24 class BitcoinLikeOperation;
25 class EthereumLikeOperation;
27 class RippleLikeOperation;
28 class TezosLikeOperation;
30 enum class OperationType;
43 virtual std::string getUid() = 0;
49 virtual int32_t getAccountIndex() = 0;
55 virtual OperationType getOperationType() = 0;
61 virtual std::chrono::system_clock::time_point getDate() = 0;
67 virtual std::vector<std::string> getSenders() = 0;
73 virtual std::vector<std::string> getRecipients() = 0;
79 virtual std::shared_ptr<Amount> getAmount() = 0;
85 virtual std::shared_ptr<Amount> getFees() = 0;
91 virtual std::shared_ptr<Preferences> getPreferences() = 0;
97 virtual std::shared_ptr<TrustIndicator> getTrust() = 0;
109 virtual std::shared_ptr<BitcoinLikeOperation> asBitcoinLikeOperation() = 0;
115 virtual std::shared_ptr<EthereumLikeOperation> asEthereumLikeOperation() = 0;
121 virtual std::shared_ptr<RippleLikeOperation> asRippleLikeOperation() = 0;
127 virtual std::shared_ptr<TezosLikeOperation> asTezosLikeOperation() = 0;
130 virtual bool isInstanceOfBitcoinLikeOperation() = 0;
133 virtual bool isInstanceOfEthereumLikeOperation() = 0;
136 virtual bool isInstanceOfRippleLikeOperation() = 0;
139 virtual bool isInstanceOfTezosLikeOperation() = 0;
145 virtual bool isComplete() = 0;
158 #endif //DJINNI_GENERATED_OPERATION_HPP Definition: Currency.hpp:23
Definition: Account.cpp:8
WalletType
Definition: WalletType.hpp:20
Definition: Operation.hpp:35