1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk -Weverything -Wno-missing-permission-annotation -t --min_sdk_version current -pout/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationcommon_interface/preprocessed.aidl --ninja -d out/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice-ndk-source/gen/staging/android/system/virtualizationservice/IVirtualMachine.cpp.d -h out/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice-ndk-source/gen/include/staging -o out/soong/.intermediates/packages/modules/Virtualization/android/virtualizationservice/aidl/android.system.virtualizationservice-ndk-source/gen/staging -Npackages/modules/Virtualization/android/virtualizationservice/aidl packages/modules/Virtualization/android/virtualizationservice/aidl/android/system/virtualizationservice/IVirtualMachine.aidl
4  *
5  * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..).
6  * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER
7  * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE.
8  */
9 #pragma once
10 
11 #include <cstdint>
12 #include <memory>
13 #include <optional>
14 #include <string>
15 #include <vector>
16 #include <android/binder_interface_utils.h>
17 #include <aidl/android/system/virtualizationservice/IVirtualMachineCallback.h>
18 #include <aidl/android/system/virtualizationservice/VirtualMachineState.h>
19 #ifdef BINDER_STABILITY_SUPPORT
20 #include <android/binder_stability.h>
21 #endif  // BINDER_STABILITY_SUPPORT
22 
23 namespace aidl::android::system::virtualizationservice {
24 class IVirtualMachineCallback;
25 }  // namespace aidl::android::system::virtualizationservice
26 namespace aidl {
27 namespace android {
28 namespace system {
29 namespace virtualizationservice {
30 class IVirtualMachineDelegator;
31 
32 class IVirtualMachine : public ::ndk::ICInterface {
33 public:
34   typedef IVirtualMachineDelegator DefaultDelegator;
35   static const char* descriptor;
36   IVirtualMachine();
37   virtual ~IVirtualMachine();
38 
39   enum : int32_t { ERROR_UNEXPECTED = -1 };
40   static constexpr uint32_t TRANSACTION_getCid = FIRST_CALL_TRANSACTION + 0;
41   static constexpr uint32_t TRANSACTION_getState = FIRST_CALL_TRANSACTION + 1;
42   static constexpr uint32_t TRANSACTION_registerCallback = FIRST_CALL_TRANSACTION + 2;
43   static constexpr uint32_t TRANSACTION_start = FIRST_CALL_TRANSACTION + 3;
44   static constexpr uint32_t TRANSACTION_stop = FIRST_CALL_TRANSACTION + 4;
45   static constexpr uint32_t TRANSACTION_getMemoryBalloon = FIRST_CALL_TRANSACTION + 5;
46   static constexpr uint32_t TRANSACTION_setMemoryBalloon = FIRST_CALL_TRANSACTION + 6;
47   static constexpr uint32_t TRANSACTION_connectVsock = FIRST_CALL_TRANSACTION + 7;
48   static constexpr uint32_t TRANSACTION_createAccessorBinder = FIRST_CALL_TRANSACTION + 8;
49   static constexpr uint32_t TRANSACTION_setHostConsoleName = FIRST_CALL_TRANSACTION + 9;
50   static constexpr uint32_t TRANSACTION_suspend = FIRST_CALL_TRANSACTION + 10;
51   static constexpr uint32_t TRANSACTION_resume = FIRST_CALL_TRANSACTION + 11;
52 
53   static std::shared_ptr<IVirtualMachine> fromBinder(const ::ndk::SpAIBinder& binder);
54   static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IVirtualMachine>& instance);
55   static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IVirtualMachine>* instance);
56   static bool setDefaultImpl(const std::shared_ptr<IVirtualMachine>& impl);
57   static const std::shared_ptr<IVirtualMachine>& getDefaultImpl();
58   virtual ::ndk::ScopedAStatus getCid(int32_t* _aidl_return) = 0;
59   virtual ::ndk::ScopedAStatus getState(::aidl::android::system::virtualizationservice::VirtualMachineState* _aidl_return) = 0;
60   virtual ::ndk::ScopedAStatus registerCallback(const std::shared_ptr<::aidl::android::system::virtualizationservice::IVirtualMachineCallback>& in_callback) = 0;
61   virtual ::ndk::ScopedAStatus start() = 0;
62   virtual ::ndk::ScopedAStatus stop() = 0;
63   virtual ::ndk::ScopedAStatus getMemoryBalloon(int64_t* _aidl_return) = 0;
64   virtual ::ndk::ScopedAStatus setMemoryBalloon(int64_t in_num_bytes) = 0;
65   virtual ::ndk::ScopedAStatus connectVsock(int32_t in_port, ::ndk::ScopedFileDescriptor* _aidl_return) = 0;
66   virtual ::ndk::ScopedAStatus createAccessorBinder(const std::string& in_instance, int32_t in_port, ::ndk::SpAIBinder* _aidl_return) = 0;
67   virtual ::ndk::ScopedAStatus setHostConsoleName(const std::string& in_pathname) = 0;
68   virtual ::ndk::ScopedAStatus suspend() = 0;
69   virtual ::ndk::ScopedAStatus resume() = 0;
70 private:
71   static std::shared_ptr<IVirtualMachine> default_impl;
72 };
73 class IVirtualMachineDefault : public IVirtualMachine {
74 public:
75   ::ndk::ScopedAStatus getCid(int32_t* _aidl_return) override;
76   ::ndk::ScopedAStatus getState(::aidl::android::system::virtualizationservice::VirtualMachineState* _aidl_return) override;
77   ::ndk::ScopedAStatus registerCallback(const std::shared_ptr<::aidl::android::system::virtualizationservice::IVirtualMachineCallback>& in_callback) override;
78   ::ndk::ScopedAStatus start() override;
79   ::ndk::ScopedAStatus stop() override;
80   ::ndk::ScopedAStatus getMemoryBalloon(int64_t* _aidl_return) override;
81   ::ndk::ScopedAStatus setMemoryBalloon(int64_t in_num_bytes) override;
82   ::ndk::ScopedAStatus connectVsock(int32_t in_port, ::ndk::ScopedFileDescriptor* _aidl_return) override;
83   ::ndk::ScopedAStatus createAccessorBinder(const std::string& in_instance, int32_t in_port, ::ndk::SpAIBinder* _aidl_return) override;
84   ::ndk::ScopedAStatus setHostConsoleName(const std::string& in_pathname) override;
85   ::ndk::ScopedAStatus suspend() override;
86   ::ndk::ScopedAStatus resume() override;
87   ::ndk::SpAIBinder asBinder() override;
88   bool isRemote() override;
89 };
90 }  // namespace virtualizationservice
91 }  // namespace system
92 }  // namespace android
93 }  // namespace aidl
94