VirtualBox

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


Ignore:
Timestamp:
Jul 10, 2012 10:17:20 AM (13 years ago)
Author:
vboxsync
Message:

Guest Control 2.0: Hacking in progress.

Location:
trunk/src/VBox/Main
Files:
10 added
6 edited

Legend:

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

    r41999 r42084  
    621621        src-client/DisplayImpl.cpp \
    622622        src-client/GuestImpl.cpp \
     623        src-client/GuestDirectoryImpl.cpp \
     624        src-client/GuestFileImpl.cpp \
     625        src-client/GuestFsObjInfoImpl.cpp \
     626        src-client/GuestProcessImpl.cpp \
     627        src-client/GuestSessionImpl.cpp \
    623628        src-client/GuestCtrlImpl.cpp \
    624629        src-client/GuestCtrlIO.cpp \
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r42018 r42084  
    86688668    </const>
    86698669  </enum>
     8670 
     8671  <enum
     8672    name="FileSeekType"
     8673    uuid="1b73f4f3-3515-4073-a506-76878d9e2541"
     8674    >
     8675    <desc>
     8676      TODO
     8677    </desc>
     8678
     8679    <const name="Set"                     value="0">
     8680      <desc>TODO</desc>
     8681    </const>   
     8682    <const name="Current"                 value="1">
     8683      <desc>TODO</desc>
     8684    </const>   
     8685  </enum>
    86708686
    86718687  <enum
     
    86998715    </const>
    87008716  </enum>
     8717 
     8718  <enum
     8719    name="ProcessWaitForFlag"
     8720    uuid="858a99aa-4b3c-4863-9726-87386671f408"
     8721    >
     8722    <desc>
     8723      TODO
     8724    </desc>
     8725
     8726    <const name="None"                    value="0">
     8727      <desc>TODO</desc>
     8728    </const>   
     8729    <const name="Exit"                    value="1">
     8730      <desc>TODO</desc>
     8731    </const>   
     8732    <const name="StdIn"                   value="2">
     8733      <desc>TODO</desc>
     8734    </const>   
     8735    <const name="StdOut"                  value="4">
     8736      <desc>TODO</desc>
     8737    </const>   
     8738    <const name="StdErr"                  value="8">
     8739      <desc>TODO</desc>
     8740    </const>   
     8741    <const name="Start"                   value="16">
     8742      <desc>TODO</desc>
     8743    </const>   
     8744    <const name="Status"                  value="32">
     8745      <desc>TODO</desc>
     8746    </const>   
     8747  </enum>
     8748 
     8749  <enum
     8750    name="ProcessWaitReason"
     8751    uuid="3fcbabf5-27e0-407a-9881-421b36c23978"
     8752    >
     8753    <desc>
     8754      TODO
     8755    </desc>
     8756
     8757    <const name="Status"                 value="0">
     8758      <desc>TODO</desc>
     8759    </const>   
     8760    <const name="Error"                  value="10">
     8761      <desc>TODO</desc>
     8762    </const>   
     8763    <const name="Timeout"                value="50">
     8764      <desc>TODO</desc>
     8765    </const>   
     8766    <const name="StdIn"                  value="100">
     8767      <desc>TODO</desc>
     8768    </const>   
     8769    <const name="StdOut"                 value="150">
     8770      <desc>TODO</desc>
     8771    </const>   
     8772    <const name="StdErr"                 value="200">
     8773      <desc>TODO</desc>
     8774    </const>   
     8775  </enum>
    87018776
    87028777  <enum
     
    87368811    </const>
    87378812  </enum>
     8813 
     8814  <enum
     8815    name="DirectoryRemoveRecFlag"
     8816    uuid="455aabf0-7692-48f6-9061-f21579b65769"
     8817    >
     8818    <desc>
     8819      TODO
     8820    </desc>
     8821
     8822    <const name="None"                    value="0">
     8823      <desc>No flag set.</desc>
     8824    </const>   
     8825    <const name="ContentAndDir"           value="1">
     8826      <desc>TODO</desc>
     8827    </const>   
     8828    <const name="ContentOnly"             value="2">
     8829      <desc>TODO</desc>
     8830    </const>   
     8831  </enum>
     8832 
     8833  <enum
     8834    name="PathRenameFlag"
     8835    uuid="f3baa09f-c758-453d-b91c-c7787d76351d"
     8836    >
     8837    <desc>
     8838      TODO
     8839    </desc>
     8840
     8841    <const name="None"                    value="0">
     8842      <desc>No flag set.</desc>
     8843    </const>   
     8844    <const name="NoReplace"               value="1">
     8845      <desc>TODO</desc>
     8846    </const> 
     8847    <const name="Replace"                 value="2">
     8848      <desc>TODO</desc>
     8849    </const> 
     8850    <const name="NoSymlinks"              value="4">
     8851      <desc>TODO</desc>
     8852    </const> 
     8853  </enum>
     8854 
     8855  <enum
     8856    name="ProcessCreateFlag"
     8857    uuid="1497c881-70b4-42dd-8b42-2ad76f004e3f"
     8858    >
     8859    <desc>
     8860      Guest process execution flags.
     8861    </desc>
     8862
     8863    <const name="None"                    value="0">
     8864      <desc>No flag set.</desc>
     8865    </const>
     8866    <const name="WaitForProcessStartOnly" value="1">
     8867      <desc>Only use the specified timeout value to wait for starting the guest process - the guest
     8868        process itself then uses an infinite timeout.</desc>
     8869    </const>
     8870    <const name="IgnoreOrphanedProcesses" value="2">
     8871      <desc>Do not report an error when executed processes are still alive when VBoxService or the guest OS is shutting down.</desc>
     8872    </const>
     8873    <const name="Hidden"                  value="4">
     8874      <desc>Do not show the started process according to the guest OS guidelines.</desc>
     8875    </const>
     8876    <const name="NoProfile"               value="8">
     8877      <desc>Do not use the user's profile data when exeuting a process. Only available for Windows guests.</desc>
     8878    </const>
     8879  </enum>
     8880 
     8881  <enum
     8882    name="ProcessPriority"
     8883    uuid="ee8cac50-e232-49fe-806b-d1214d9c2e49"
     8884    >
     8885    <desc>
     8886      TODO
     8887    </desc>
     8888
     8889    <const name="Invalid"                 value="0">
     8890      <desc>TODO</desc>
     8891    </const>   
     8892    <const name="Default"                 value="1">
     8893      <desc>TODO</desc>
     8894    </const>   
     8895  </enum>
     8896 
     8897  <enum
     8898    name="SymlinkType"
     8899    uuid="37794668-f8f1-4714-98a5-6f8fa2ed0118"
     8900    >
     8901    <desc>
     8902      TODO
     8903    </desc>
     8904
     8905    <const name="Unknown"                 value="0">
     8906      <desc>TODO</desc>
     8907    </const>   
     8908    <const name="Directory"               value="1">
     8909      <desc>TODO</desc>
     8910    </const>   
     8911    <const name="File"                    value="2">
     8912      <desc>TODO</desc>
     8913    </const>   
     8914  </enum>
     8915 
     8916  <enum
     8917    name="SymlinkReadFlag"
     8918    uuid="b7fe2b9d-790e-4b25-8adf-1ca33026931f"
     8919    >
     8920    <desc>
     8921      TODO
     8922    </desc>
     8923
     8924    <const name="None"                    value="0">
     8925      <desc>TODO.</desc>
     8926    </const>   
     8927    <const name="NoSymlinks"              value="1">
     8928      <desc>TODO</desc>
     8929    </const>   
     8930  </enum>
     8931 
     8932  <enum
     8933    name="ProcessStatus"
     8934    uuid="4d52368f-5b48-4bfe-b486-acf89139b52f"
     8935    >
     8936    <desc>
     8937      Guest process execution status.
     8938    </desc>
     8939    <const name="Undefined"               value="0">
     8940      <desc>Process is in an undefined state.</desc>
     8941    </const>
     8942
     8943    <const name="Starting"                value="10">
     8944      <desc>TODO</desc>
     8945    </const>
     8946    <const name="Started"                 value="100">
     8947      <desc>Process has been started.</desc>
     8948    </const>
     8949    <const name="Paused"                  value="110">
     8950      <desc>TODO</desc>
     8951    </const>
     8952    <const name="Terminating"             value="480">
     8953      <desc>TODO</desc>
     8954    </const>
     8955    <const name="TerminatedNormally"      value="500">
     8956      <desc>Process terminated normally.</desc>
     8957    </const>
     8958    <const name="TerminatedSignal"        value="510">
     8959      <desc>Process terminated via signal.</desc>
     8960    </const>
     8961    <const name="TerminatedAbnormally"    value="511">
     8962      <desc>Process terminated abnormally.</desc>
     8963    </const>
     8964     <const name="TimedOutKilled"         value="512">
     8965      <desc>Process timed out and was killed.</desc>
     8966    </const>
     8967    <const name="TimedOutAbnormally"      value="513">
     8968      <desc>Process timed out and was not killed successfully.</desc>
     8969    </const>
     8970    <const name="Down"                    value="600">
     8971      <desc>Service/OS is stopping, process was killed.</desc>
     8972    </const>
     8973    <const name="Error"                   value="800">
     8974      <desc>Something went wrong (error code in flags).</desc>
     8975    </const>
     8976  </enum>
     8977 
     8978  <enum
     8979    name="FsObjType"
     8980    uuid="a1ed437c-b3c3-4ca2-b19c-4239d658d5e8"
     8981    >
     8982    <desc>
     8983      TODO
     8984    </desc>
     8985
     8986    <const name="Undefined"               value="0">
     8987      <desc>TODO</desc>
     8988    </const>   
     8989    <const name="FIFO"                    value="1">
     8990      <desc>TODO</desc>
     8991    </const>   
     8992    <const name="DevChar"                 value="10">
     8993      <desc>TODO</desc>
     8994    </const>   
     8995    <const name="DevBlock"                value="11">
     8996      <desc>TODO</desc>
     8997    </const>   
     8998    <const name="Directory"               value="50">
     8999      <desc>TODO</desc>
     9000    </const>   
     9001    <const name="File"                    value="80">
     9002      <desc>TODO</desc>
     9003    </const>   
     9004    <const name="Symlink"                 value="100">
     9005      <desc>TODO</desc>
     9006    </const>   
     9007    <const name="Socket"                  value="200">
     9008      <desc>TODO</desc>
     9009    </const>   
     9010    <const name="Whiteout"                value="400">
     9011      <desc>TODO</desc>
     9012    </const>   
     9013  </enum>
    87389014
    87399015  <enum
     
    88139089    </attribute>
    88149090  </interface>
    8815 
     9091 
     9092  <interface
     9093    name="IGuestSession" extends="$unknown"
     9094    uuid="158aff3c-5258-4994-88cb-6fd679c7e3ed"
     9095    wsmap="managed"
     9096    >
     9097   
     9098    <attribute name="user" type="wstring" readonly="yes">
     9099      <desc>
     9100        TODO
     9101        <note>
     9102          TODO
     9103        </note>
     9104      </desc>
     9105    </attribute>
     9106   
     9107    <attribute name="domain" type="wstring" readonly="yes">
     9108      <desc>
     9109        TODO
     9110        <note>
     9111          TODO
     9112        </note>
     9113      </desc>
     9114    </attribute>
     9115   
     9116    <attribute name="name" type="wstring" readonly="yes">
     9117      <desc>
     9118        TODO
     9119        <note>
     9120          TODO
     9121        </note>
     9122      </desc>
     9123    </attribute>
     9124   
     9125    <attribute name="id" type="unsigned long" readonly="yes">
     9126      <desc>
     9127        TODO
     9128        <note>
     9129          TODO
     9130        </note>
     9131      </desc>
     9132    </attribute>
     9133   
     9134    <attribute name="timeout" type="unsigned long" readonly="yes">
     9135      <desc>
     9136        TODO
     9137        <note>
     9138          TODO
     9139        </note>
     9140      </desc>
     9141    </attribute>
     9142   
     9143    <attribute name="environment" type="wstring" readonly="yes" safearray="yes">
     9144      <desc>
     9145        TODO
     9146      </desc>
     9147    </attribute>
     9148   
     9149    <attribute name="processes" type="IGuestProcess" readonly="yes" safearray="yes">
     9150      <desc>
     9151        TODO
     9152      </desc>
     9153    </attribute>
     9154   
     9155    <attribute name="directories" type="IGuestDirectory" readonly="yes" safearray="yes">
     9156      <desc>
     9157        TODO
     9158      </desc>
     9159    </attribute>
     9160   
     9161    <attribute name="files" type="IGuestFile" readonly="yes" safearray="yes">
     9162      <desc>
     9163        TODO
     9164      </desc>
     9165    </attribute>
     9166   
     9167    <method name="Close">
     9168      <desc>
     9169        TODO
     9170
     9171        <result name="VBOX_E_NOT_SUPPORTED">
     9172          TODO
     9173        </result>
     9174      </desc>
     9175    </method>
     9176   
     9177    <method name="CopyFrom">
     9178      <desc>
     9179        TODO
     9180
     9181        <result name="VBOX_E_NOT_SUPPORTED">
     9182          TODO
     9183        </result>
     9184      </desc>
     9185      <param name="source" type="wstring" dir="in">
     9186        <desc>TODO</desc>
     9187      </param>
     9188      <param name="dest" type="wstring" dir="in">
     9189        <desc>TODO</desc>
     9190      </param>
     9191      <param name="flags" type="CopyFileFlag" dir="in" safearray="yes">
     9192        <desc>TODO</desc>
     9193      </param>
     9194      <param name="progress" type="IProgress" dir="return">
     9195        <desc>Progress object to track the operation completion.</desc>
     9196      </param>
     9197    </method>
     9198   
     9199    <method name="CopyTo">
     9200      <desc>
     9201        TODO
     9202
     9203        <result name="VBOX_E_NOT_SUPPORTED">
     9204          TODO
     9205        </result>
     9206      </desc>
     9207      <param name="source" type="wstring" dir="in">
     9208        <desc>TODO</desc>
     9209      </param>
     9210      <param name="dest" type="wstring" dir="in">
     9211        <desc>TODO</desc>
     9212      </param>
     9213      <param name="flags" type="CopyFileFlag" dir="in" safearray="yes">
     9214        <desc>TODO</desc>
     9215      </param>
     9216      <param name="progress" type="IProgress" dir="return">
     9217        <desc>Progress object to track the operation completion.</desc>
     9218      </param>
     9219    </method>
     9220   
     9221    <method name="DirectoryCreate">
     9222      <desc>
     9223        TODO
     9224
     9225        <result name="VBOX_E_NOT_SUPPORTED">
     9226          TODO
     9227        </result>
     9228      </desc>
     9229      <param name="path" type="wstring" dir="in">
     9230        <desc>TODO</desc>
     9231      </param>
     9232      <param name="mode" type="unsigned long" dir="in">
     9233        <desc>TODO</desc>
     9234      </param>
     9235      <param name="flags" type="unsigned long" dir="in">
     9236        <desc>TODO</desc>
     9237      </param>
     9238      <param name="directory" type="IGuestDirectory" dir="return">
     9239        <desc>Optional.</desc>
     9240      </param>
     9241    </method>
     9242   
     9243    <method name="DirectoryCreateTemp">
     9244      <desc>
     9245        TODO
     9246
     9247        <result name="VBOX_E_NOT_SUPPORTED">
     9248          TODO
     9249        </result>
     9250      </desc>
     9251      <param name="templateName" type="wstring" dir="in">
     9252        <desc>TODO</desc>
     9253      </param>
     9254      <param name="mode" type="unsigned long" dir="in">
     9255        <desc>TODO</desc>
     9256      </param>
     9257      <param name="path" type="wstring" dir="in">
     9258        <desc>TODO</desc>
     9259      </param>
     9260      <param name="directory" type="IGuestDirectory" dir="return">
     9261        <desc>TODO</desc>
     9262      </param>
     9263    </method>
     9264   
     9265    <method name="DirectoryExists">
     9266      <desc>
     9267        TODO
     9268
     9269        <result name="VBOX_E_NOT_SUPPORTED">
     9270          TODO
     9271        </result>
     9272      </desc>
     9273      <param name="path" type="wstring" dir="in">
     9274        <desc>TODO</desc>
     9275      </param>
     9276      <param name="exists" type="boolean" dir="return">
     9277        <desc>TODO</desc>
     9278      </param>
     9279    </method>
     9280   
     9281    <method name="DirectoryOpen">
     9282      <desc>
     9283        TODO
     9284
     9285        <result name="VBOX_E_NOT_SUPPORTED">
     9286          TODO
     9287        </result>
     9288      </desc>
     9289      <param name="path" type="wstring" dir="in">
     9290        <desc>TODO</desc>
     9291      </param>
     9292      <param name="filter" type="wstring" dir="in">
     9293        <desc>TODO</desc>
     9294      </param>
     9295      <param name="flags" type="wstring" dir="in">
     9296        <desc>TODO</desc>
     9297      </param>
     9298      <param name="directory" type="IGuestDirectory" dir="return">
     9299        <desc>TODO</desc>
     9300      </param>
     9301    </method>
     9302   
     9303    <method name="DirectoryQueryInfo">
     9304      <desc>
     9305        TODO
     9306
     9307        <result name="VBOX_E_NOT_SUPPORTED">
     9308          TODO
     9309        </result>
     9310      </desc>
     9311      <param name="path" type="wstring" dir="in">
     9312        <desc>TODO</desc>
     9313      </param>
     9314      <param name="info" type="IGuestFsObjInfo" dir="return">
     9315        <desc>TODO</desc>
     9316      </param>
     9317    </method>
     9318   
     9319    <method name="DirectoryRemove">
     9320      <desc>
     9321        TODO
     9322
     9323        <result name="VBOX_E_NOT_SUPPORTED">
     9324          TODO
     9325        </result>
     9326      </desc>
     9327      <param name="path" type="wstring" dir="in">
     9328        <desc>TODO</desc>
     9329      </param>
     9330    </method>
     9331   
     9332    <method name="DirectoryRemoveRecursive">
     9333      <desc>
     9334        TODO
     9335
     9336        <result name="VBOX_E_NOT_SUPPORTED">
     9337          TODO
     9338        </result>
     9339      </desc>
     9340      <param name="path" type="wstring" dir="in">
     9341        <desc>TODO</desc>
     9342      </param>
     9343      <param name="flags" type="DirectoryRemoveRecFlag" dir="in" safearray="yes">
     9344        <desc>TODO</desc>
     9345      </param>
     9346      <param name="progress" type="IProgress" dir="return">
     9347        <desc>TODO</desc>
     9348      </param>
     9349    </method>
     9350   
     9351    <method name="DirectoryRename">
     9352      <desc>
     9353        TODO
     9354
     9355        <result name="VBOX_E_NOT_SUPPORTED">
     9356          TODO
     9357        </result>
     9358      </desc>
     9359      <param name="source" type="wstring" dir="in">
     9360        <desc>TODO</desc>
     9361      </param>
     9362      <param name="dest" type="wstring" dir="in">
     9363        <desc>TODO</desc>
     9364      </param>
     9365      <param name="flags" type="PathRenameFlag" dir="in" safearray="yes">
     9366        <desc>TODO</desc>
     9367      </param>
     9368    </method>
     9369   
     9370    <method name="DirectorySetACL">
     9371      <desc>
     9372        TODO
     9373
     9374        <result name="VBOX_E_NOT_SUPPORTED">
     9375          TODO
     9376        </result>
     9377      </desc>
     9378      <param name="path" type="wstring" dir="in">
     9379        <desc>TODO</desc>
     9380      </param>
     9381      <param name="acl" type="wstring" dir="in">
     9382        <desc>TODO</desc>
     9383      </param>
     9384    </method>
     9385   
     9386    <method name="EnvironmentClear">
     9387      <desc>
     9388        TODO
     9389
     9390        <result name="VBOX_E_NOT_SUPPORTED">
     9391          TODO
     9392        </result>
     9393      </desc>
     9394    </method>
     9395   
     9396    <method name="EnvironmentSet">
     9397      <desc>
     9398        TODO
     9399
     9400        <result name="VBOX_E_NOT_SUPPORTED">
     9401          TODO
     9402        </result>
     9403      </desc>
     9404      <param name="name" type="wstring" dir="in">
     9405        <desc>TODO</desc>
     9406      </param>
     9407      <param name="value" type="wstring" dir="in">
     9408        <desc>TODO</desc>
     9409      </param>
     9410    </method>
     9411   
     9412    <method name="EnvironmentSetArray">
     9413      <desc>
     9414        TODO
     9415
     9416        <result name="VBOX_E_NOT_SUPPORTED">
     9417          TODO
     9418        </result>
     9419      </desc>
     9420      <param name="environment" type="wstring" dir="in" safearray="yes">
     9421        <desc>TODO</desc>
     9422      </param>
     9423    </method>
     9424   
     9425    <method name="EnvironmentUnset">
     9426      <desc>
     9427        TODO
     9428
     9429        <result name="VBOX_E_NOT_SUPPORTED">
     9430          TODO
     9431        </result>
     9432      </desc>
     9433      <param name="name" type="wstring" dir="in">
     9434        <desc>TODO</desc>
     9435      </param>
     9436    </method>
     9437   
     9438    <method name="FileCreateTemp">
     9439      <desc>
     9440        TODO
     9441
     9442        <result name="VBOX_E_NOT_SUPPORTED">
     9443          TODO
     9444        </result>
     9445      </desc>
     9446      <param name="templateName" type="wstring" dir="in">
     9447        <desc>TODO</desc>
     9448      </param>
     9449      <param name="mode" type="unsigned long" dir="in">
     9450        <desc>TODO</desc>
     9451      </param>
     9452      <param name="path" type="wstring" dir="in">
     9453        <desc>TODO</desc>
     9454      </param>
     9455      <param name="file" type="IGuestFile" dir="return">
     9456        <desc>Optional.</desc>
     9457      </param>
     9458    </method>
     9459   
     9460    <method name="FileExists">
     9461      <desc>
     9462        TODO
     9463
     9464        <result name="VBOX_E_NOT_SUPPORTED">
     9465          TODO
     9466        </result>
     9467      </desc>
     9468      <param name="path" type="wstring" dir="in">
     9469        <desc>TODO</desc>
     9470      </param>
     9471      <param name="exists" type="boolean" dir="return">
     9472        <desc>TODO</desc>
     9473      </param>
     9474    </method>
     9475   
     9476    <method name="FileOpen">
     9477      <desc>
     9478        TODO
     9479
     9480        <result name="VBOX_E_NOT_SUPPORTED">
     9481          TODO
     9482        </result>
     9483      </desc>
     9484      <param name="path" type="wstring" dir="in">
     9485        <desc>TODO</desc>
     9486      </param>
     9487      <param name="openMode" type="wstring" dir="in">
     9488        <desc>TODO</desc>
     9489      </param>
     9490      <param name="disposition" type="wstring" dir="in">
     9491        <desc>TODO</desc>
     9492      </param>
     9493      <param name="creationMode" type="unsigned long" dir="in">
     9494        <desc>TODO</desc>
     9495      </param>
     9496      <param name="offset" type="long long" dir="in">
     9497        <desc>TODO</desc>
     9498      </param>
     9499      <param name="file" type="IGuestFile" dir="return">
     9500        <desc>TODO</desc>
     9501      </param>
     9502    </method>
     9503   
     9504    <method name="FileQueryInfo">
     9505      <desc>
     9506        TODO
     9507
     9508        <result name="VBOX_E_NOT_SUPPORTED">
     9509          TODO
     9510        </result>
     9511      </desc>
     9512      <param name="path" type="wstring" dir="in">
     9513        <desc>TODO</desc>
     9514      </param>
     9515      <param name="info" type="IGuestFsObjInfo" dir="return">
     9516        <desc>TODO</desc>
     9517      </param>
     9518    </method>
     9519   
     9520    <method name="FileQuerySize">
     9521      <desc>
     9522        TODO
     9523
     9524        <result name="VBOX_E_NOT_SUPPORTED">
     9525          TODO
     9526        </result>
     9527      </desc>
     9528      <param name="path" type="wstring" dir="in">
     9529        <desc>TODO</desc>
     9530      </param>
     9531      <param name="size" type="long long" dir="return">
     9532        <desc>TODO</desc>
     9533      </param>
     9534    </method>
     9535   
     9536    <method name="FileRename">
     9537      <desc>
     9538        TODO
     9539
     9540        <result name="VBOX_E_NOT_SUPPORTED">
     9541          TODO
     9542        </result>
     9543      </desc>
     9544      <param name="source" type="wstring" dir="in">
     9545        <desc>TODO</desc>
     9546      </param>
     9547      <param name="dest" type="wstring" dir="in">
     9548        <desc>TODO</desc>
     9549      </param>
     9550      <param name="flags" type="PathRenameFlag" dir="in" safearray="yes">
     9551        <desc>TODO</desc>
     9552      </param>
     9553    </method>
     9554   
     9555    <method name="FileSetACL">
     9556      <desc>
     9557        TODO
     9558
     9559        <result name="VBOX_E_NOT_SUPPORTED">
     9560          TODO
     9561        </result>
     9562      </desc>
     9563      <param name="file" type="wstring" dir="in">
     9564        <desc>TODO</desc>
     9565      </param>
     9566      <param name="acl" type="wstring" dir="in">
     9567        <desc>TODO</desc>
     9568      </param>
     9569    </method>
     9570   
     9571    <method name="ProcessCreate">
     9572      <desc>
     9573        TODO
     9574
     9575        <result name="VBOX_E_NOT_SUPPORTED">
     9576          TODO
     9577        </result>
     9578      </desc>
     9579      <param name="command" type="wstring" dir="in">
     9580        <desc>TODO</desc>
     9581      </param>
     9582      <param name="arguments" type="wstring" dir="in" safearray="yes">
     9583        <desc>TODO</desc>
     9584      </param>
     9585      <param name="environment" type="wstring" dir="in" safearray="yes">
     9586        <desc>TODO</desc>
     9587      </param>
     9588      <param name="flags" type="ProcessCreateFlag" dir="in" safearray="yes">
     9589        <desc>TODO</desc>
     9590      </param>
     9591      <param name="timeoutMS" type="unsigned long" dir="in">
     9592        <desc>TODO</desc>
     9593      </param>
     9594      <param name="guestProcess" type="IGuestProcess" dir="return">
     9595        <desc>TODO</desc>
     9596      </param>
     9597    </method>
     9598   
     9599    <method name="ProcessCreateEx">
     9600      <desc>
     9601        TODO
     9602
     9603        <result name="VBOX_E_NOT_SUPPORTED">
     9604          TODO
     9605        </result>
     9606      </desc>
     9607      <param name="command" type="wstring" dir="in">
     9608        <desc>TODO</desc>
     9609      </param>
     9610      <param name="arguments" type="wstring" dir="in" safearray="yes">
     9611        <desc>TODO</desc>
     9612      </param>
     9613      <param name="environment" type="wstring" dir="in" safearray="yes">
     9614        <desc>TODO</desc>
     9615      </param>
     9616      <param name="flags" type="ProcessCreateFlag" dir="in" safearray="yes">
     9617        <desc>TODO</desc>
     9618      </param>
     9619      <param name="timeoutMS" type="unsigned long" dir="in">
     9620        <desc>TODO</desc>
     9621      </param>
     9622      <param name="priority" type="ProcessPriority" dir="in">
     9623        <desc>TODO</desc>
     9624      </param>
     9625      <param name="affinity" type="long" dir="in" safearray="yes">
     9626        <desc>TODO</desc>
     9627      </param>
     9628      <param name="guestProcess" type="IGuestProcess" dir="return">
     9629        <desc>TODO</desc>
     9630      </param>
     9631    </method>
     9632   
     9633    <method name="ProcessGet">
     9634      <desc>
     9635        TODO
     9636
     9637        <result name="VBOX_E_NOT_SUPPORTED">
     9638          TODO
     9639        </result>
     9640      </desc>
     9641      <param name="pid" type="unsigned long" dir="in">
     9642        <desc>TODO</desc>
     9643      </param>
     9644      <param name="guestProcess" type="IGuestProcess" dir="return">
     9645        <desc>TODO</desc>
     9646      </param>
     9647    </method>
     9648   
     9649    <method name="SetTimeout">
     9650      <desc>
     9651        TODO
     9652
     9653        <result name="VBOX_E_NOT_SUPPORTED">
     9654          TODO
     9655        </result>
     9656      </desc>
     9657      <param name="timeoutMS" type="unsigned long" dir="in">
     9658        <desc>TODO</desc>
     9659      </param>
     9660    </method>
     9661   
     9662    <method name="SymlinkCreate">
     9663      <desc>
     9664        TODO
     9665
     9666        <result name="VBOX_E_NOT_SUPPORTED">
     9667          TODO
     9668        </result>
     9669      </desc>
     9670      <param name="source" type="wstring" dir="in">
     9671        <desc>TODO</desc>
     9672      </param>
     9673      <param name="target" type="wstring" dir="in">
     9674        <desc>TODO</desc>
     9675      </param>
     9676      <param name="type" type="SymlinkType" dir="in">
     9677        <desc>TODO</desc>
     9678      </param>
     9679    </method>
     9680   
     9681    <method name="SymlinkExists">
     9682      <desc>
     9683        TODO
     9684
     9685        <result name="VBOX_E_NOT_SUPPORTED">
     9686          TODO
     9687        </result>
     9688      </desc>
     9689      <param name="symlink" type="wstring" dir="in">
     9690        <desc>TODO</desc>
     9691      </param>
     9692      <param name="exists" type="boolean" dir="return">
     9693        <desc>TODO</desc>
     9694      </param>
     9695    </method>
     9696   
     9697    <method name="SymlinkRead">
     9698      <desc>
     9699        TODO
     9700
     9701        <result name="VBOX_E_NOT_SUPPORTED">
     9702          TODO
     9703        </result>
     9704      </desc>
     9705      <param name="symlink" type="wstring" dir="in">
     9706        <desc>TODO</desc>
     9707      </param>
     9708      <param name="flags" type="SymlinkReadFlag" dir="in" safearray="yes">
     9709        <desc>TODO</desc>
     9710      </param>
     9711      <param name="target" type="wstring" dir="return">
     9712        <desc>TODO</desc>
     9713      </param>
     9714    </method>
     9715   
     9716    <method name="SymlinkRemoveDirectory">
     9717      <desc>
     9718        TODO
     9719
     9720        <result name="VBOX_E_NOT_SUPPORTED">
     9721          TODO
     9722        </result>
     9723      </desc>
     9724      <param name="path" type="wstring" dir="in">
     9725        <desc>TODO</desc>
     9726      </param>
     9727    </method>
     9728   
     9729    <method name="SymlinkRemoveFile">
     9730      <desc>
     9731        TODO
     9732
     9733        <result name="VBOX_E_NOT_SUPPORTED">
     9734          TODO
     9735        </result>
     9736      </desc>
     9737      <param name="file" type="wstring" dir="in">
     9738        <desc>TODO</desc>
     9739      </param>
     9740    </method>
     9741   
     9742  </interface>   
     9743
     9744  <interface
     9745    name="IProcess" extends="$unknown"
     9746    uuid="47b9d1f3-6728-4d29-830b-6a31bf5581d8"
     9747    wsmap="suppress"
     9748    >
     9749    <desc>
     9750      TODO
     9751    </desc>
     9752    <attribute name="pid" type="unsigned long" readonly="yes">
     9753      <desc>
     9754        TODO
     9755        <note>
     9756          TODO
     9757        </note>
     9758      </desc>
     9759    </attribute>
     9760    <attribute name="status" type="ProcessStatus" readonly="yes">
     9761      <desc>
     9762        TODO
     9763        <note>
     9764          TODO
     9765        </note>
     9766      </desc>
     9767    </attribute>
     9768    <attribute name="exitCode" type="long" readonly="yes">
     9769      <desc>
     9770        TODO
     9771        <note>
     9772          TODO
     9773        </note>
     9774      </desc>
     9775    </attribute>
     9776    <attribute name="environment" type="wstring" readonly="yes" safearray="yes">
     9777      <desc>
     9778        TODO
     9779        <note>
     9780          TODO
     9781        </note>
     9782      </desc>
     9783    </attribute>
     9784    <attribute name="arguments" type="wstring" readonly="yes" safearray="yes">
     9785      <desc>
     9786        TODO
     9787        <note>
     9788          TODO
     9789        </note>
     9790      </desc>
     9791    </attribute>
     9792    <attribute name="executablePath" type="wstring" readonly="yes">
     9793      <desc>
     9794        TODO
     9795        <note>
     9796          TODO
     9797        </note>
     9798      </desc>
     9799    </attribute>
     9800   
     9801    <method name="WaitFor">
     9802      <desc>
     9803        TODO
     9804
     9805        <result name="VBOX_E_NOT_SUPPORTED">
     9806          TODO
     9807        </result>
     9808      </desc>
     9809      <param name="waitFor" type="ProcessWaitForFlag" dir="in" safearray="yes">
     9810        <desc>TODO</desc>
     9811      </param>
     9812      <param name="timeoutMS" type="unsigned long" dir="in">
     9813        <desc>TODO</desc>
     9814      </param>
     9815      <param name="reason" type="ProcessWaitReason" dir="return">
     9816        <desc>TODO</desc>
     9817      </param>
     9818    </method>
     9819   
     9820    <method name="Read">
     9821      <desc>
     9822        TODO
     9823
     9824        <result name="VBOX_E_NOT_SUPPORTED">
     9825          TODO
     9826        </result>
     9827      </desc>
     9828      <param name="handle" type="unsigned long" dir="in">
     9829        <desc>TODO</desc>
     9830      </param>
     9831      <param name="size" type="unsigned long" dir="in">
     9832        <desc>TODO</desc>
     9833      </param>
     9834      <param name="timeoutMS" type="unsigned long" dir="in">
     9835        <desc>TODO</desc>
     9836      </param>
     9837      <param name="data" type="octet" dir="return" safearray="yes">
     9838        <desc>TODO</desc>
     9839      </param>
     9840    </method>
     9841   
     9842    <method name="Write">
     9843      <desc>
     9844        TODO
     9845
     9846        <result name="VBOX_E_NOT_SUPPORTED">
     9847          TODO
     9848        </result>
     9849      </desc>
     9850      <param name="handle" type="unsigned long" dir="in">
     9851        <desc>TODO</desc>
     9852      </param>
     9853      <param name="size" type="unsigned long" dir="in">
     9854        <desc>TODO</desc>
     9855      </param>
     9856      <param name="timeoutMS" type="unsigned long" dir="in">
     9857        <desc>TODO</desc>
     9858      </param>
     9859      <param name="written" type="unsigned long" dir="out">
     9860        <desc>TODO</desc>
     9861      </param>
     9862      <param name="data" type="octet" dir="return" safearray="yes">
     9863        <desc>TODO</desc>
     9864      </param>
     9865    </method>
     9866   
     9867    <method name="Terminate">
     9868      <desc>
     9869        TODO
     9870
     9871        <result name="VBOX_E_NOT_SUPPORTED">
     9872          TODO
     9873        </result>
     9874      </desc>
     9875    </method>
     9876  </interface>
     9877 
     9878  <interface
     9879    name="IGuestProcess" extends="IProcess"
     9880    uuid="dfa39a36-5d43-4840-a025-67ea956b3111"
     9881    wsmap="managed"
     9882    >
     9883    <desc>
     9884      TODO
     9885    </desc>
     9886  </interface>
     9887 
     9888  <interface
     9889    name="IDirectory" extends="$unknown"
     9890    uuid="9659f46a-32f2-40e0-ab27-cc2e23fa5def"
     9891    wsmap="suppress"
     9892    >
     9893    <desc>
     9894      TODO
     9895    </desc>
     9896   
     9897    <attribute name="directoryName" type="wstring" readonly="yes">
     9898      <desc>
     9899        Full path of directory.
     9900        <note>
     9901          TODO
     9902        </note>
     9903      </desc>
     9904    </attribute>
     9905   
     9906    <method name="Read">
     9907      <desc>
     9908        TODO
     9909
     9910        <result name="VBOX_E_NOT_SUPPORTED">
     9911          TODO
     9912        </result>
     9913      </desc>
     9914      <param name="objInfo" type="IFsObjInfo" dir="return">
     9915        <desc>TODO</desc>
     9916      </param>
     9917    </method>
     9918  </interface>
     9919 
     9920  <interface
     9921    name="IGuestDirectory" extends="IDirectory"
     9922    uuid="af4a8ce0-0725-42b7-8826-46e3c7ba7357"
     9923    wsmap="managed"
     9924    >
     9925    <desc>
     9926      TODO
     9927    </desc>
     9928  </interface>
     9929   
     9930  <interface
     9931    name="IFile" extends="$unknown"
     9932    uuid="df475838-6898-4bd7-bcb5-75f91d85c239"
     9933    wsmap="suppress"
     9934    >
     9935    <desc>
     9936      TODO
     9937    </desc>
     9938   
     9939    <attribute name="fileName" type="wstring" readonly="yes">
     9940      <desc>
     9941        TODO
     9942        <note>
     9943          TODO
     9944        </note>
     9945      </desc>
     9946    </attribute>
     9947    <attribute name="initialSize" type="long long" readonly="yes">
     9948      <desc>
     9949        TODO
     9950        <note>
     9951          TODO
     9952        </note>
     9953      </desc>
     9954    </attribute>
     9955    <attribute name="openMode" type="unsigned long" readonly="yes">
     9956      <desc>
     9957        TODO
     9958        <note>
     9959          TODO
     9960        </note>
     9961      </desc>
     9962    </attribute>
     9963    <attribute name="offset" type="long long" readonly="yes">
     9964      <desc>
     9965        TODO
     9966        <note>
     9967          TODO
     9968        </note>
     9969      </desc>
     9970    </attribute>
     9971   
     9972    <method name="Close">
     9973      <desc>
     9974        TODO
     9975
     9976        <result name="VBOX_E_NOT_SUPPORTED">
     9977          TODO
     9978        </result>
     9979      </desc>
     9980    </method>
     9981   
     9982    <method name="QueryInfo">
     9983      <desc>
     9984        TODO
     9985
     9986        <result name="VBOX_E_NOT_SUPPORTED">
     9987          TODO
     9988        </result>
     9989      </desc>
     9990      <param name="objInfo" type="IFsObjInfo" dir="return">
     9991        <desc>TODO</desc>
     9992      </param>
     9993    </method> 
     9994       
     9995    <method name="Read">
     9996      <desc>
     9997        TODO
     9998
     9999        <result name="VBOX_E_NOT_SUPPORTED">
     10000          TODO
     10001        </result>
     10002      </desc>
     10003      <param name="toRead" type="unsigned long" dir="in">
     10004        <desc>TODO</desc>
     10005      </param>
     10006      <param name="read" type="unsigned long" dir="out">
     10007        <desc>TODO</desc>
     10008      </param>
     10009      <param name="data" type="octet" dir="return" safearray="yes">
     10010        <desc>TODO</desc>
     10011      </param>
     10012    </method>
     10013       
     10014    <method name="ReadAt">
     10015      <desc>
     10016        TODO
     10017
     10018        <result name="VBOX_E_NOT_SUPPORTED">
     10019          TODO
     10020        </result>
     10021      </desc>
     10022      <param name="offset" type="long long" dir="in">
     10023        <desc>TODO</desc>
     10024      </param>
     10025      <param name="toRead" type="unsigned long" dir="in">
     10026        <desc>TODO</desc>
     10027      </param>
     10028      <param name="read" type="unsigned long" dir="out">
     10029        <desc>TODO</desc>
     10030      </param>
     10031      <param name="data" type="octet" dir="return" safearray="yes">
     10032        <desc>TODO</desc>
     10033      </param>
     10034    </method>
     10035   
     10036    <method name="Seek">
     10037      <desc>
     10038        TODO
     10039
     10040        <result name="VBOX_E_NOT_SUPPORTED">
     10041          TODO
     10042        </result>
     10043      </desc>
     10044      <param name="offset" type="long long" dir="in">
     10045        <desc>TODO</desc>
     10046      </param>
     10047      <param name="whence" type="FileSeekType" dir="in">
     10048        <desc>TODO</desc>
     10049      </param>
     10050    </method>
     10051   
     10052    <method name="SetACL">
     10053      <desc>
     10054        TODO
     10055
     10056        <result name="VBOX_E_NOT_SUPPORTED">
     10057          TODO
     10058        </result>
     10059      </desc>
     10060      <param name="acl" type="wstring" dir="in">
     10061        <desc>TODO</desc>
     10062      </param>
     10063    </method>
     10064   
     10065    <method name="Write">
     10066      <desc>
     10067        TODO
     10068
     10069        <result name="VBOX_E_NOT_SUPPORTED">
     10070          TODO
     10071        </result>
     10072      </desc>
     10073      <param name="data" type="octet" dir="in" safearray="yes">
     10074        <desc>TODO</desc>
     10075      </param>
     10076      <param name="written" type="unsigned long" dir="return">
     10077        <desc>TODO</desc>
     10078      </param>
     10079    </method>
     10080   
     10081    <method name="WriteAt">
     10082      <desc>
     10083        TODO
     10084
     10085        <result name="VBOX_E_NOT_SUPPORTED">
     10086          TODO
     10087        </result>
     10088      </desc>
     10089      <param name="offset" type="long long" dir="in">
     10090        <desc>TODO</desc>
     10091      </param>
     10092      <param name="data" type="octet" dir="in" safearray="yes">
     10093        <desc>TODO</desc>
     10094      </param>
     10095      <param name="written" type="unsigned long" dir="return">
     10096        <desc>TODO</desc>
     10097      </param>
     10098    </method>
     10099
     10100  </interface>
     10101 
     10102  <interface
     10103    name="IGuestFile" extends="IFile"
     10104    uuid="60661aec-145f-4d11-b80e-8ea151598093"
     10105    wsmap="managed"
     10106    >
     10107    <desc>
     10108      TODO
     10109    </desc>
     10110  </interface>
     10111 
     10112  <interface
     10113    name="IFsObjInfo" extends="$unknown"
     10114    uuid="0b53ef38-2462-4796-a680-7f6f0dd3680a"
     10115    wsmap="suppress"
     10116    >
     10117    <desc>
     10118      TODO
     10119    </desc>
     10120   
     10121    <attribute name="accessTime" type="long long" readonly="yes">
     10122      <desc>
     10123        TODO
     10124        <note>
     10125          TODO
     10126        </note>
     10127      </desc>
     10128    </attribute>
     10129    <attribute name="allocatedSize" type="long long" readonly="yes">
     10130      <desc>
     10131        TODO
     10132        <note>
     10133          TODO
     10134        </note>
     10135      </desc>
     10136    </attribute>
     10137    <attribute name="birthTime" type="long long" readonly="yes">
     10138      <desc>
     10139        TODO
     10140        <note>
     10141          TODO
     10142        </note>
     10143      </desc>
     10144    </attribute>
     10145        <attribute name="changeTime" type="long long" readonly="yes">
     10146      <desc>
     10147        TODO
     10148        <note>
     10149          TODO
     10150        </note>
     10151      </desc>
     10152    </attribute>
     10153    <attribute name="deviceNumber" type="unsigned long" readonly="yes">
     10154      <desc>
     10155        TODO
     10156        <note>
     10157          TODO
     10158        </note>
     10159      </desc>
     10160    </attribute>
     10161    <attribute name="fileAtttributes" type="wstring" readonly="yes">
     10162      <desc>
     10163        TODO
     10164        <note>
     10165          TODO
     10166        </note>
     10167      </desc>
     10168    </attribute>
     10169    <attribute name="generationId" type="unsigned long" readonly="yes">
     10170      <desc>
     10171        TODO
     10172        <note>
     10173          TODO
     10174        </note>
     10175      </desc>
     10176    </attribute>
     10177    <attribute name="gid" type="unsigned long" readonly="yes">
     10178      <desc>
     10179        TODO
     10180        <note>
     10181          TODO
     10182        </note>
     10183      </desc>
     10184    </attribute>
     10185    <attribute name="groupName" type="wstring" readonly="yes">
     10186      <desc>
     10187        TODO
     10188        <note>
     10189          TODO
     10190        </note>
     10191      </desc>
     10192    </attribute>
     10193    <attribute name="hardLinks" type="unsigned long" readonly="yes">
     10194      <desc>
     10195        TODO
     10196        <note>
     10197          TODO
     10198        </note>
     10199      </desc>
     10200    </attribute>
     10201    <attribute name="modificationTime" type="long long" readonly="yes">
     10202      <desc>
     10203        TODO
     10204        <note>
     10205          TODO
     10206        </note>
     10207      </desc>
     10208    </attribute>
     10209    <attribute name="name" type="wstring" readonly="yes">
     10210      <desc>
     10211        TODO
     10212        <note>
     10213          TODO
     10214        </note>
     10215      </desc>
     10216    </attribute>
     10217    <attribute name="nodeId" type="long long" readonly="yes">
     10218      <desc>
     10219        TODO
     10220        <note>
     10221          TODO
     10222        </note>
     10223      </desc>
     10224    </attribute>
     10225    <attribute name="nodeIdDevice" type="unsigned long" readonly="yes">
     10226      <desc>
     10227        TODO
     10228        <note>
     10229          TODO
     10230        </note>
     10231      </desc>
     10232    </attribute>     
     10233    <attribute name="objectSize" type="long long" readonly="yes">
     10234      <desc>
     10235        TODO
     10236        <note>
     10237          TODO
     10238        </note>
     10239      </desc>
     10240    </attribute>
     10241    <attribute name="type" type="FsObjType" readonly="yes">
     10242      <desc>
     10243        TODO
     10244        <note>
     10245          TODO
     10246        </note>
     10247      </desc>
     10248    </attribute>     
     10249    <attribute name="uid" type="unsigned long" readonly="yes">
     10250      <desc>
     10251        TODO
     10252        <note>
     10253          TODO
     10254        </note>
     10255      </desc>
     10256    </attribute>
     10257    <attribute name="userFlags" type="unsigned long" readonly="yes">
     10258      <desc>
     10259        TODO
     10260        <note>
     10261          TODO
     10262        </note>
     10263      </desc>
     10264    </attribute>
     10265    <attribute name="userName" type="wstring" readonly="yes">
     10266      <desc>
     10267        TODO
     10268        <note>
     10269          TODO
     10270        </note>
     10271      </desc>
     10272    </attribute> 
     10273   
     10274  </interface>
     10275 
     10276  <interface
     10277    name="IGuestFsObjInfo" extends="IFsObjInfo"
     10278    uuid="d5cf678e-3484-4e4a-ac55-329e15462e18"
     10279    wsmap="managed"
     10280    >
     10281    <desc>
     10282      TODO
     10283    </desc>
     10284  </interface>
     10285 
    881610286  <interface
    881710287    name="IGuest" extends="$unknown"
    8818     uuid="88696240-7411-4fe6-bb5e-ef56fb8a61f3"
     10288    uuid="a115744a-0e0b-4193-b40c-40e0d66d0f8d"
    881910289    wsmap="managed"
    882010290    >
     
    887110341    </attribute>
    887210342
     10343    <attribute name="sessions" type="IGuestSession" readonly="yes" safearray="yes">
     10344      <desc>TODO</desc>
     10345    </attribute>
     10346   
    887310347    <attribute name="memoryBalloonSize" type="unsigned long">
    887410348      <desc>Guest system memory balloon size in megabytes (transient property).</desc>
     
    920010674    </method>
    920110675
     10676    <method name="openSession">
     10677      <desc>
     10678        TODO
     10679      </desc>
     10680      <param name="user" type="wstring" dir="in">
     10681        <desc>
     10682          TODO
     10683        </desc>
     10684      </param>
     10685      <param name="password" type="wstring" dir="in">
     10686        <desc>
     10687          TODO
     10688        </desc>
     10689      </param>
     10690      <param name="domain" type="wstring" dir="in">
     10691        <desc>
     10692          TODO
     10693        </desc>
     10694      </param>
     10695      <param name="sessionName" type="wstring" dir="in">
     10696        <desc>
     10697          TODO
     10698        </desc>
     10699      </param>
     10700      <param name="guestSession" type="IGuestSession" dir="return">
     10701        <desc>
     10702          TODO
     10703        </desc>
     10704      </param>
     10705    </method>   
     10706   
    920210707    <method name="executeProcess">
    920310708      <desc>
  • trunk/src/VBox/Main/include/GuestImpl.h

    r40685 r42084  
    2525#include "AdditionsFacilityImpl.h"
    2626#include "GuestCtrlImplPrivate.h"
     27#include "GuestSessionImpl.h"
    2728#include "HGCM.h"
    2829#ifdef VBOX_WITH_GUEST_CONTROL
     
    8485    STDMETHOD(COMGETTER(AdditionsVersion))(BSTR *a_pbstrAdditionsVersion);
    8586    STDMETHOD(COMGETTER(AdditionsRevision))(ULONG *a_puAdditionsRevision);
    86     STDMETHOD(COMGETTER(Facilities)) (ComSafeArrayOut(IAdditionsFacility*, aFacilities));
     87    STDMETHOD(COMGETTER(Facilities)) (ComSafeArrayOut(IAdditionsFacility *, aFacilities));
     88    STDMETHOD(COMGETTER(Sessions)) (ComSafeArrayOut(IGuestSession *, aSessions));
    8789    STDMETHOD(COMGETTER(MemoryBalloonSize)) (ULONG *aMemoryBalloonSize);
    8890    STDMETHOD(COMSETTER(MemoryBalloonSize)) (ULONG aMemoryBalloonSize);
     
    131133                                     ULONG *aPageTotal, ULONG *aMemAllocTotal, ULONG *aMemFreeTotal, ULONG *aMemBalloonTotal, ULONG *aMemSharedTotal);
    132134    STDMETHOD(UpdateGuestAdditions)(IN_BSTR aSource, ULONG aFlags, IProgress **aProgress);
     135    STDMETHOD(OpenSession)(IN_BSTR aUser, IN_BSTR aPassword, IN_BSTR aDomain, IN_BSTR aSessionName, IGuestSession **aGuestSession);
    133136
    134137    // Public methods that are not in IDL (only called internally).
     
    294297    typedef std::map< AdditionsFacilityType_T, ComObjPtr<AdditionsFacility> >::const_iterator FacilityMapIterConst;
    295298
     299    typedef std::list <ComObjPtr<GuestSession> > GuestSessions;
     300
    296301    struct Data
    297302    {
     
    308313        uint32_t                mAdditionsFeatures;
    309314        Bstr                    mInterfaceVersion;
     315        GuestSessions           mGuestSessions;
    310316    };
    311317
  • trunk/src/VBox/Main/src-client/GuestCtrlImpl.cpp

    r40744 r42084  
    55
    66/*
    7  * Copyright (C) 2006-2011 Oracle Corporation
     7 * Copyright (C) 2006-2012 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    26612661}
    26622662
     2663STDMETHODIMP Guest::OpenSession(IN_BSTR aUser, IN_BSTR aPassword, IN_BSTR aDomain, IN_BSTR aSessionName, IGuestSession **aGuestSession)
     2664{
     2665#ifndef VBOX_WITH_GUEST_CONTROL
     2666    ReturnComNotImplemented();
     2667#else /* VBOX_WITH_GUEST_CONTROL */
     2668
     2669    /* Do not allow anonymous sessions (with system rights). */
     2670    if (RT_UNLIKELY((aUser) == NULL || *(aUser) == '\0'))
     2671        return setError(E_INVALIDARG, tr("No user name specified"));
     2672    CheckComArgOutPointerValid(aSessionName);
     2673
     2674    AutoCaller autoCaller(this);
     2675    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     2676
     2677    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
     2678
     2679    HRESULT hr;
     2680    ComObjPtr<GuestSession> pGuestSession;
     2681    try
     2682    {
     2683        /* Create the session object. */
     2684        hr = pGuestSession.createObject();
     2685        if (FAILED(hr)) throw hr;
     2686
     2687        hr = pGuestSession->init(static_cast<IGuest*>(this),
     2688                                 aUser, aPassword, aDomain, aSessionName);
     2689        if (FAILED(hr)) throw hr;
     2690
     2691        mData.mGuestSessions.push_back(pGuestSession);
     2692
     2693        /* Return guest session to the caller. */
     2694        hr = pGuestSession.queryInterfaceTo(aGuestSession);
     2695    }
     2696    catch (HRESULT aRC)
     2697    {
     2698        hr = aRC;
     2699    }
     2700
     2701    return hr;
     2702#endif /* VBOX_WITH_GUEST_CONTROL */
     2703}
     2704
  • trunk/src/VBox/Main/src-client/GuestImpl.cpp

    r40685 r42084  
    1717
    1818#include "GuestImpl.h"
     19#include "GuestSessionImpl.h"
    1920
    2021#include "Global.h"
     
    418419}
    419420
    420 STDMETHODIMP Guest::COMGETTER(Facilities)(ComSafeArrayOut(IAdditionsFacility*, aFacilities))
     421STDMETHODIMP Guest::COMGETTER(Facilities)(ComSafeArrayOut(IAdditionsFacility *, aFacilities))
    421422{
    422423    CheckComArgOutSafeArrayPointerValid(aFacilities);
     
    429430    SafeIfaceArray<IAdditionsFacility> fac(mData.mFacilityMap);
    430431    fac.detachTo(ComSafeArrayOutArg(aFacilities));
     432
     433    return S_OK;
     434}
     435
     436STDMETHODIMP Guest::COMGETTER(Sessions)(ComSafeArrayOut(IGuestSession *, aSessions))
     437{
     438    CheckComArgOutSafeArrayPointerValid(aSessions);
     439
     440    AutoCaller autoCaller(this);
     441    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     442
     443    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     444
     445    SafeIfaceArray<IGuestSession> collection(mData.mGuestSessions);
     446    collection.detachTo(ComSafeArrayOutArg(aSessions));
    431447
    432448    return S_OK;
     
    11201136                   0 /*fFlags*/, &TimeSpecTS);
    11211137}
    1122 /* vi: set tabstop=4 shiftwidth=4 expandtab: */
     1138
  • trunk/src/VBox/Main/src-client/SessionImpl.cpp

    r41925 r42084  
    493493        }
    494494
     495#ifndef DEBUG_andy /* Don't bug me -- now time to fix this at the moment. */
    495496        AssertReturn(mState == SessionState_Locked ||
    496                       mState == SessionState_Spawning, VBOX_E_INVALID_VM_STATE);
     497                     mState == SessionState_Spawning, VBOX_E_INVALID_VM_STATE);
     498#endif
    497499
    498500        /* close ourselves */
Note: See TracChangeset for help on using the changeset viewer.

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