VirtualBox

Changeset 73154 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Jul 16, 2018 11:02:35 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
123746
Message:

bugref:9152. Added 3 interfaces: CloudClient, CloudUserProfileList, CloudUserProfileManager.

Location:
trunk/src/VBox/Main
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/Makefile.kmk

    r72996 r73154  
    455455        src-server/ClientWatcher.cpp \
    456456        src-server/ClientToken.cpp \
     457        src-server/CloudClientImpl.cpp \
     458        src-server/CloudUserProfileListImpl.cpp \
     459        src-server/CloudUserProfileManagerImpl.cpp \
    457460        src-server/DHCPServerImpl.cpp \
    458461        src-server/NetworkServiceRunner.cpp \
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r72979 r73154  
    19561956    uuid="9570b9d5-f1a1-448a-10c5-e12f5285adad"
    19571957    wsmap="managed"
    1958     reservedMethods="8" reservedAttributes="12"
     1958    reservedMethods="7" reservedAttributes="12"
    19591959    >
    19601960    <desc>
     
    24482448      <param name="unattended" type="IUnattended" dir="return">
    24492449        <desc>New unattended object.</desc>
     2450      </param>
     2451    </method>
     2452
     2453    <method name="createCloudUserProfileManager">
     2454      <desc>
     2455        Creates a new cloud user profile manager object
     2456      </desc>
     2457      <param name="manager" type="ICloudUserProfileManager" dir="return">
     2458        <desc>New cloud user profile manager</desc>
    24502459      </param>
    24512460    </method>
     
    29382947    <const name="S3" value="3" />
    29392948    <const name="WebDav" value="4" />
     2949    <const name="OCI" value="5" />
    29402950  </enum>
    29412951
     
    2483024840  </interface>
    2483124841
     24842
     24843  <!--
     24844  // ICloudClient
     24845  //////////////////////////////////////////////////////////////////////////
     24846  -->
     24847  <enum
     24848    name="CloudProfilePropertyType"
     24849    uuid="4c549e52-3ca6-4c6a-8c49-288e8c0890f6"
     24850    >
     24851    <const name="unknown" value="0"/>
     24852    <const name="stringT" value="1"/>
     24853    <const name="array" value="2"/>
     24854    <const name="flag" value="3"/>
     24855  </enum>
     24856
     24857  <enum
     24858    name="CloudProviderId"
     24859    uuid="c3856743-aa5d-404d-847d-14b6cf523677"
     24860    >
     24861    <const name="Unknown" value="0"/>
     24862    <const name="OCI" value="1"/>
     24863    <const name="GCP" value="2"/>
     24864    <const name="AWS" value="3"/>
     24865    <const name="MicrosoftAzure" value="4"/>
     24866    <const name="IBMCloud" value="5"/>
     24867    <const name="DigitalOcean" value="6"/>
     24868  </enum>
     24869
     24870  <enum
     24871    name="CloudOperation"
     24872    uuid="1c5cfa19-7754-4071-bf3e-6d21ad432655"
     24873    >
     24874    <const name="Unknown" value="0"/>
     24875
     24876    <const name="createInstance" value="0x1"/>
     24877    <const name="launchInstance" value="0x2"/>
     24878    <const name="pauseInstance" value="0x3"/>
     24879    <const name="stopInstance" value="0x4"/>
     24880    <const name="deleteInstance" value="0x5"/>
     24881    <const name="getInstanceProperties" value="0x6"/>
     24882    <const name="listOfInstances" value="0x7"/>
     24883
     24884    <const name="uploadFile" value="0x10"/>
     24885    <const name="downloadObject" value="0x11"/>
     24886    <const name="deleteObject" value="0x12"/>
     24887    <const name="getObjectProperties" value="0x13"/>
     24888    <const name="listObjects" value="0x14"/>
     24889
     24890    <const name="exportVM" value="0xf0"/>
     24891  </enum>
     24892
     24893  <enum
     24894    name="CloudOperationResult"
     24895    uuid="e33af696-255a-4f5a-8dba-d65d6ee2fe9a"
     24896    >
     24897    <const name="unknown" value="0"/>
     24898    <const name="success" value="1"/>
     24899    <const name="failed" value="2"/>
     24900    <const name="inProgress" value="3"/>
     24901  </enum>
     24902
     24903  <interface
     24904    name="ICloudClient" extends="$unknown"
     24905    uuid="f2b37b0c-e555-4d11-b90b-d517a194e469"
     24906    wsmap="managed" reservedMethods="4" reservedAttributes="4"
     24907    >
     24908
     24909    <method name="createOperation">
     24910      <desc>
     24911        Creates a cloud operation object for the passed profile
     24912        if profile name is NULL or empty string creates operation for the active profile.
     24913        if profile name is NULL or empty string and there is not the active profile
     24914        returns "VERR_INVALID_PARAMETER"
     24915      </desc>
     24916      <param name="profileName" type="wstring" dir="in">
     24917        <desc>
     24918          The profile's name
     24919        </desc>
     24920      </param>
     24921      <param name="cloudOperation" type="CloudOperation" dir="in">
     24922        <desc>
     24923          The type of the supported cloud commands.
     24924        </desc>
     24925      </param>
     24926      <param name="opId" type="uuid" mod="string" dir="return">
     24927        <desc>
     24928          UUID of the operation.
     24929          It's used later when user chooses and runs this cloud operation
     24930        </desc>
     24931      </param>
     24932    </method>
     24933
     24934    <method name="runOperation">
     24935      <desc>
     24936        Runs a cloud operation by ID
     24937      </desc>
     24938      <param name="opId" type="uuid" mod="string" dir="in">
     24939        <desc>
     24940          UUID of the operation.
     24941        </desc>
     24942      </param>
     24943      <param name="timeout" type="long long" dir="in">
     24944        <desc>
     24945          Timeout in seconds.
     24946        </desc>
     24947      </param>
     24948    </method>
     24949
     24950    <method name="checkOperationResult"  const="yes">
     24951      <desc>
     24952        Check a cloud operation result by ID
     24953      </desc>
     24954      <param name="opId" type="uuid" mod="string" dir="in">
     24955        <desc>
     24956          UUID of the operation.
     24957        </desc>
     24958      </param>
     24959      <param name="startOpTime" type="long long" dir="out">
     24960        <desc>
     24961          Start time of operation.
     24962        </desc>
     24963      </param>
     24964      <param name="lastTime" type="long long" dir="out">
     24965        <desc>
     24966          Time of the last result.
     24967        </desc>
     24968      </param>
     24969      <param name="result" type="CloudOperationResult" dir="return">
     24970        <desc>
     24971          The last result of the cloud command.
     24972        </desc>
     24973      </param>
     24974    </method>
     24975
     24976    <method name="getOperationParameterNames" const="yes">
     24977      <desc>
     24978        Returns the parameters names for this operation.
     24979      </desc>
     24980      <param name="cloudOperation" type="CloudOperation" dir="in">
     24981        <desc>
     24982          The type of the supported cloud commands.
     24983        </desc>
     24984      </param>
     24985      <param name="parameterNames" type="wstring" safearray="yes" dir="return">
     24986        <desc>Names of the parameters.</desc>
     24987      </param>
     24988    </method>
     24989
     24990    <method name="getOperationParameterProperties" const="yes">
     24991      <desc>
     24992        Returns the value/s for the passed parameter.
     24993      </desc>
     24994      <param name="opParameterName" type="wstring" dir="in">
     24995        <desc>Parameter name.</desc>
     24996      </param>
     24997      <param name="opParameterType" type="wstring" dir="out">
     24998        <desc>Parameter type.</desc>
     24999      </param>
     25000      <param name="opParameterDesc" type="wstring" dir="out">
     25001        <desc>Parameter description.</desc>
     25002      </param>
     25003      <param name="opParameterValues" type="wstring" safearray="yes" dir="return">
     25004        <desc>Possible values of the parameter.</desc>
     25005      </param>
     25006    </method>
     25007
     25008    <method name="getOperationParameters" const="yes">
     25009      <desc>
     25010        Returns the parameters with their values.
     25011      </desc>
     25012      <param name="cloudOperation" type="CloudOperation" dir="in">
     25013        <desc>
     25014          The type of the supported cloud commands.
     25015        </desc>
     25016      </param>
     25017      <param name="jsonString" type="wstring" dir="return">
     25018        <desc>the parameters with values in json format.</desc>
     25019      </param>
     25020    </method>
     25021
     25022    <method name="setParametersForOperation">
     25023      <desc>
     25024        Sets the parameters values for the particular operation by ID.
     25025      </desc>
     25026      <param name="opId" type="uuid" mod="string" dir="in">
     25027        <desc>
     25028          UUID of the operation.
     25029        </desc>
     25030      </param>
     25031      <param name="values" type="wstring" safearray="yes" dir="in">
     25032        <desc>Values of the parameters.</desc>
     25033      </param>
     25034    </method>
     25035
     25036  </interface>
     25037
     25038
     25039
     25040  <!--
     25041  // ICloudUserProfileList
     25042  //////////////////////////////////////////////////////////////////////////
     25043  -->
     25044
     25045  <interface
     25046    name="ICloudUserProfileList" extends="$unknown"
     25047    uuid="cfadfecb-ef89-41a9-abbd-9772d41baddb"
     25048    wsmap="managed" reservedMethods="4" reservedAttributes="4"
     25049    >
     25050    <desc>
     25051        Cloud user profiles description
     25052    </desc>
     25053
     25054    <method name="getProvider">
     25055      <desc>
     25056        Returns provider Id tied with these profiles
     25057      </desc>
     25058      <param name="provider" type="CloudProviderId" dir="return">
     25059      </param>
     25060    </method>
     25061
     25062    <method name="createProfile">
     25063      <desc>
     25064        Creates an empty profile
     25065      </desc>
     25066      <param name="profileName" type="wstring" dir="in">
     25067        <desc>
     25068          The profile's name
     25069        </desc>
     25070      </param>
     25071      <param name="names" type="wstring" safearray="yes" dir="in">
     25072        <desc>Names of properties.</desc>
     25073      </param>
     25074      <param name="values" type="wstring" safearray="yes" dir="in">
     25075        <desc>Values of set properties.</desc>
     25076      </param>
     25077    </method>
     25078
     25079    <method name="updateProfile">
     25080      <desc>
     25081        Updates active profile in memory
     25082      </desc>
     25083      <param name="profileName" type="wstring" dir="in">
     25084        <desc>
     25085          The profile's name
     25086        </desc>
     25087      </param>
     25088      <param name="names" type="wstring" safearray="yes" dir="in">
     25089        <desc>Names of properties.</desc>
     25090      </param>
     25091      <param name="values" type="wstring" safearray="yes" dir="in">
     25092        <desc>Values of set properties.</desc>
     25093      </param>
     25094    </method>
     25095
     25096    <method name="getStoredProfilesNames" const="yes">
     25097      <desc>
     25098        Returns the names\IDs for the existing profiles in one call.
     25099      </desc>
     25100      <param name="profilesNames" type="wstring" safearray="yes" dir="return">
     25101        <desc>Names of the existing profiles.</desc>
     25102      </param>
     25103    </method>
     25104
     25105    <method name="getProfileProperties" const="yes">
     25106      <desc>
     25107        Returns values for a profile's properties in one call.
     25108
     25109        The list of all properties supported by the given profile.
     25110
     25111        The method returns two arrays, the array of property names corresponding
     25112        to the @a names argument and the current values of these properties.
     25113        Both arrays have the same number of elements with each element at the
     25114        given index in the first array corresponds to an element at the same
     25115        index in the second array.
     25116
     25117        For properties that do not have assigned values, an empty string is
     25118        returned at the appropriate index in the @a returnValues array.
     25119
     25120      </desc>
     25121      <param name="profileName" type="wstring" dir="in">
     25122        <desc>
     25123          Name of profile.
     25124        </desc>
     25125      </param>
     25126      <param name="returnNames" type="wstring" safearray="yes" dir="out">
     25127        <desc>Names of returned properties.</desc>
     25128      </param>
     25129      <param name="returnValues" type="wstring" safearray="yes" dir="return">
     25130        <desc>Values of returned properties.</desc>
     25131      </param>
     25132    </method>
     25133
     25134    <method name="getPropertyDescription" const="yes">
     25135      <param name="name" type="wstring" dir="in">
     25136        <desc>Property name</desc>
     25137      </param>
     25138      <param name="description" type="wstring" dir="return">
     25139        <desc>Property description</desc>
     25140      </param>
     25141    </method>
     25142
     25143    <method name="createCloudClient">
     25144      <desc>
     25145        Creates a cloud client for this cloud provider
     25146      </desc>
     25147      <param name="profileName" type="wstring" dir="in">
     25148      </param>
     25149      <param name="cloudClient" type="ICloudClient" dir="return">
     25150        <desc>
     25151          returns interface to the cloud client object
     25152        </desc>
     25153      </param>
     25154    </method>
     25155
     25156  </interface>
     25157
     25158  <!--
     25159  // ICloudUserProfileManager
     25160  //////////////////////////////////////////////////////////////////////////
     25161  -->
     25162  <interface
     25163    name="ICloudUserProfileManager" extends="$unknown"
     25164    uuid="64e276a7-cfd1-48ed-aad3-19368197f3b2"
     25165    wsmap="managed" reservedMethods="4" reservedAttributes="4"
     25166    >
     25167    <desc>
     25168        Cloud User Profile Manager description
     25169    </desc>
     25170
     25171    <attribute name="supportedProviders" type="CloudProviderId" readonly="yes" safearray="yes">
     25172      <desc>Returns a predefined list of all supported cloud providers.</desc>
     25173    </attribute>
     25174
     25175    <method name="getAllProfiles" const="yes">
     25176      <desc>
     25177        Returns the list of the ICloudUserProfileList in one call.
     25178      </desc>
     25179      <param name="profileList" type="ICloudUserProfileList" safearray="yes" dir="return">
     25180        <desc>Returns the list of ICloudUserProfileList.</desc>
     25181      </param>
     25182    </method>
     25183
     25184    <method name="getProfilesByProvider" const="yes">
     25185      <desc>
     25186        Returns the ICloudUserProfileList for the particular provider.
     25187      </desc>
     25188      <param name="providerId" type="CloudProviderId" dir="in">
     25189      </param>
     25190      <param name="profile" type="ICloudUserProfileList" dir="return">
     25191        <desc>Returns the ICloudUserProfileList.</desc>
     25192      </param>
     25193    </method>
     25194
     25195  </interface>
     25196
    2483225197  <module name="VBoxSVC" context="LocalServer">
    2483325198    <class name="VirtualBox" uuid="B1A7A4F2-47B9-4A1E-82B2-07CCD5323C3F"
     
    2499325358      </class>
    2499425359  </module>
    24995 
    2499625360</application>
    2499725361
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette