VirtualBox

Changeset 66274 in vbox for trunk/src/VBox/Main/idl


Ignore:
Timestamp:
Mar 28, 2017 12:19:45 AM (8 years ago)
Author:
vboxsync
Message:

VBox/Main: ​bugref:3300: VBoxSVC from terminal server session is not 'visible' - added VBoxSDS implementation

Location:
trunk/src/VBox/Main/idl
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/idl/VirtualBox.dtd

    r56523 r66274  
    1717-->
    1818  <!ELEMENT idl (desc|if|library)*>                           <!-- done -->
    19   <!ELEMENT if ANY>
    20     <!ATTLIST if target (midl|xpidl|wsdl) #REQUIRED>          <!-- done -->
    21   <!ELEMENT cpp ANY>
    22     <!ATTLIST cpp line CDATA #IMPLIED>                        <!-- done -->
    23   <!ELEMENT library (descGroup|if|result|enum|interface|module)*>
     19  <!ELEMENT if ANY>                                           <!-- done -->
     20    <!ATTLIST if target (midl|xpidl|wsdl) #REQUIRED>
     21  <!ELEMENT cpp ANY>                                          <!-- done -->
     22    <!ATTLIST cpp line CDATA #IMPLIED>
     23  <!ELEMENT library (application)*>                           <!-- done -->
    2424    <!ATTLIST library name CDATA #REQUIRED>
    2525    <!ATTLIST library uuid CDATA #REQUIRED>
    2626    <!ATTLIST library version CDATA #REQUIRED>
    27     <!ATTLIST library desc CDATA #REQUIRED>
    28     <!ATTLIST library appUuid CDATA #REQUIRED>
    29     <!ATTLIST library supportsErrorInfo CDATA #REQUIRED>
     27  <!ELEMENT application (descGroup|if|result|enum|interface|module)*>   <!-- done -->
     28    <!ATTLIST application name CDATA #REQUIRED>
     29    <!ATTLIST application uuid CDATA #REQUIRED>
     30    <!ATTLIST application supportsErrorInfo CDATA #REQUIRED>
    3031  <!ELEMENT result (#PCDATA|desc|link)*>                      <!-- done -->
    3132    <!ATTLIST result name CDATA #REQUIRED>
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r66067 r66274  
    280280         UUID or version!!
    281281-->
    282 <library
    283   name="VirtualBox"
    284   uuid="d7569351-1750-46f0-936e-bd127d5bc264"
    285   version="1.3"
    286   desc="VirtualBox Type Library"
    287   appUuid="819B4D85-9CEE-493C-B6FC-64FFE759B3C9"
    288   supportsErrorInfo="yes"
     282    <library
     283      name="VirtualBox"
     284      uuid="d7569351-1750-46f0-936e-bd127d5bc264"
     285      version="1.3"
    289286>
    290287
    291 
    292   <!--
     288<application
     289        name="VirtualBox"
     290        uuid="819B4D85-9CEE-493C-B6FC-64FFE759B3C9"
     291        supportsErrorInfo="yes"
     292>
     293
     294
     295
     296            <!--
    293297  // COM result codes for VirtualBox
    294298  /////////////////////////////////////////////////////////////////////////
     
    2388023884  </module>
    2388123885
     23886</application>
     23887
     23888<!-- Pay attention! Application uuid of this application is used in midl.xsl
     23889     So if you change it then change filter in "interface" and "class" template in midl.xsl too
     23890-->
     23891<application
     23892  name="VirtualBox System Service"
     23893  uuid="ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa"
     23894  supportsErrorInfo="yes"
     23895>
     23896
     23897<if target="midl">
     23898  <!--
     23899  // IVirtualBoxSDS
     23900  //////////////////////////////////////////////////////////////////////////
     23901  -->
     23902
     23903  <interface
     23904    name="IVirtualBoxSDS" extends="$unknown"
     23905    uuid="28932695-fb72-4708-8904-e1077dac7f9a"
     23906    wsmap="suppress"
     23907    reservedMethods="4" reservedAttributes="8"
     23908    >
     23909    <desc>
     23910      The IVirtualBoxSDS interface represents the system-wide directory service
     23911      helper.
     23912
     23913      It exists only on Windows host, and its purpose is to work around design
     23914      flaws in Microsoft's (D)COM, in particular the local server instantiation
     23915      behavior.
     23916    </desc>
     23917
     23918    <attribute name="virtualBox" type="IVirtualBox" readonly="yes">
     23919      <desc>
     23920        Reference to the server-side API root object.
     23921      </desc>
     23922    </attribute>
     23923
     23924      <method name="releaseVirtualBox">
     23925          <desc>
     23926              Client informs that it releases it's VirtualBox reference
     23927          </desc>
     23928      </method>
     23929     
     23930  </interface>
     23931</if>
     23932
     23933  <module name="VBoxSDS" context="LocalService">
     23934    <class name="VirtualBoxSDS" uuid="74ab5ffe-8726-4435-aa7e-876d705bcba5"
     23935           namespace="virtualbox.org">
     23936      <interface name="IVirtualBoxSDS" default="yes"/>
     23937    </class>
     23938  </module>
     23939
     23940</application>
     23941
    2388223942</library>
    2388323943
  • trunk/src/VBox/Main/idl/apiwrap-server-filelist.xsl

    r62486 r66274  
    2828
    2929<xsl:strip-space elements="*"/>
     30
     31<!-- - - - - - - - - - - - - - - - - - - - - - -
     32   XSLT parameters
     33 - - - - - - - - - - - - - - - - - - - - - - -->
     34   
     35<!-- Whether to generate wrappers for VBoxSDS-->
     36<xsl:param name="g_fVBoxWithSDS" select="'no'"/>
    3037
    3138<!-- - - - - - - - - - - - - - - - - - - - - - -
     
    98105
    99106<!-- - - - - - - - - - - - - - - - - - - - - - -
     107  application match
     108 - - - - - - - - - - - - - - - - - - - - - - -->
     109
     110<xsl:template match="application" mode="filelist-even-sources" name="template_app_filelist_even_sources">
     111    <xsl:apply-templates mode="filelist-even-sources"/>
     112</xsl:template>
     113
     114<xsl:template match="application" mode="filelist-odd-sources" name="template_app_filelist_odd_sources">
     115    <xsl:apply-templates mode="filelist-odd-sources"/>
     116</xsl:template>
     117
     118<xsl:template match="application" mode="filelist-headers" name="template_app_filelist_headers">
     119    <xsl:apply-templates mode="filelist-headers"/>
     120</xsl:template>
     121
     122<!-- - - - - - - - - - - - - - - - - - - - - - -
    100123  library match
    101124 - - - - - - - - - - - - - - - - - - - - - - -->
     
    134157</xsl:template>
    135158
     159   
     160    <xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']" mode="filelist-even-sources" >
     161        <xsl:if test="$g_fVBoxWithSDS='yes'" >
     162            <xsl:call-template name="template_app_filelist_even_sources" />
     163        </xsl:if>
     164    </xsl:template>
     165
     166    <xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']" mode="filelist-headers" >
     167        <xsl:if test="$g_fVBoxWithSDS='yes'" >
     168            <xsl:call-template name="template_app_filelist_headers" />
     169        </xsl:if>
     170    </xsl:template>
     171
     172    <xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']" mode="filelist-odd-sources" >
     173        <xsl:if test="$g_fVBoxWithSDS='yes'" >
     174            <xsl:call-template name="template_app_filelist_odd_sources" />
     175        </xsl:if>
     176    </xsl:template>
     177   
     178
    136179</xsl:stylesheet>
    137180<!-- vi: set tabstop=4 shiftwidth=4 expandtab: -->
  • trunk/src/VBox/Main/idl/apiwrap-server.xsl

    r63147 r66274  
    24902490
    24912491<!-- - - - - - - - - - - - - - - - - - - - - - -
     2492  application match
     2493 - - - - - - - - - - - - - - - - - - - - - - -->
     2494
     2495<xsl:template match="application">
     2496    <xsl:apply-templates/>
     2497</xsl:template>
     2498
     2499<!-- - - - - - - - - - - - - - - - - - - - - - -
    24922500  library match
    24932501 - - - - - - - - - - - - - - - - - - - - - - -->
  • trunk/src/VBox/Main/idl/midl.xsl

    r63387 r66274  
    2525<xsl:param name="g_fGenProxy" select="'no'"/>
    2626
     27<!-- Whether to generate coclass and interfaces for VBoxSDS-->
     28<xsl:param name="g_fVBoxWithSDS" select="'no'"/>
     29
    2730<xsl:include href="typemap-shared.inc.xsl"/>
    2831
     
    4245 *  header
    4346-->
    44 <xsl:template match="/idl">
    45   <xsl:text>
     47    <xsl:template match="/idl">
     48        <xsl:text>
    4649/*
    4750 *  DO NOT EDIT! This is a generated file.
     
    6669  <xsl:apply-templates/>
    6770</xsl:template>
    68 
     71   
    6972
    7073<!--
     
    124127    <xsl:text>&#x0A;</xsl:text>
    125128    <!-- forward declarations -->
    126     <xsl:apply-templates select="if | interface" mode="forward"/>
     129    <xsl:apply-templates select="application/if | application/interface" mode="forward"/>
    127130    <xsl:text>&#x0A;</xsl:text>
    128131    <!-- all enums go first -->
    129     <xsl:apply-templates select="enum | if/enum"/>
     132    <xsl:apply-templates select="application/enum | application/if[enum]"/>
    130133    <!-- declare the interfaces -->
    131     <xsl:apply-templates select="if | interface"/>
     134    <xsl:apply-templates select="application/if | application/interface"/>
    132135  </xsl:if>
    133136
     
    135138    uuid(<xsl:value-of select="@uuid"/>),
    136139    version(<xsl:value-of select="@version"/>),
    137     helpstring("<xsl:value-of select="@desc"/>")
     140    helpstring("<xsl:value-of select="@name"/> Type Library")
    138141]
    139142<xsl:text>library </xsl:text>
     
    142145  <xsl:text>&#x0A;importlib("stdole2.tlb");&#x0A;&#x0A;</xsl:text>
    143146  <!-- result codes -->
    144   <xsl:for-each select="result">
     147  <xsl:for-each select="application/result">
    145148    <xsl:apply-templates select="."/>
    146149  </xsl:for-each>
     
    150153    <xsl:when test="$g_fGenProxy = 'yes'">
    151154      <!-- reference enums and interfaces -->
    152       <xsl:apply-templates select="if | interface" mode="forward"/>
    153       <xsl:apply-templates select="enum | if/enum" mode="forward"/>
     155      <xsl:apply-templates select="application/if | application/interface" mode="forward"/>
     156      <xsl:apply-templates select="application/enum | application/if[enum]" mode="forward"/>
    154157      <!-- the modules (i.e. everything else) -->
    155       <xsl:apply-templates select="module | if/module"/>
     158      <xsl:apply-templates select="application/module | application/if[module]"/>
    156159    </xsl:when>
    157160    <xsl:otherwise>
    158161      <!-- forward declarations -->
    159       <xsl:apply-templates select="if | interface" mode="forward"/>
     162      <xsl:apply-templates select="application/if | application/interface" mode="forward"/>
    160163      <!-- all enums go first -->
    161       <xsl:apply-templates select="enum | if/enum"/>
     164      <xsl:apply-templates select="application/enum | application/if[enum]"/>
    162165      <!-- everything else but result codes and enums -->
    163       <xsl:apply-templates select="*[not(self::result or self::enum) and
    164                                      not(self::if[result] or self::if[enum])]"/>
     166      <xsl:apply-templates select="  application/interface | application/if[interface]
     167                                   | application/module | application/if[module]"/>
    165168    </xsl:otherwise>
    166169  </xsl:choose>
     
    173176
    174177<!--
     178 *  applications
     179-->
     180<xsl:template match="application">
     181  <xsl:apply-templates/>
     182</xsl:template>
     183<xsl:template match="application" mode="forward">
     184  <xsl:apply-templates mode="forward"/>
     185</xsl:template>
     186
     187
     188<!--
    175189 *  result codes
    176190-->
     
    185199 *  forward declarations
    186200-->
    187 <xsl:template match="interface" mode="forward">
     201<xsl:template match="interface" mode="forward" name="template_interface_forward">
    188202  <xsl:text>interface </xsl:text>
    189203  <xsl:value-of select="@name"/>
     
    202216 *  interfaces
    203217-->
    204 <xsl:template match="interface">[
     218<xsl:template match="interface" name="template_interface">[
    205219    uuid(<xsl:value-of select="@uuid"/>),
    206220    object,
     
    646660 *  co-classes
    647661-->
    648 <xsl:template match="module/class">[
     662<xsl:template match="module/class" name="template_class">[
    649663    uuid(<xsl:value-of select="@uuid"/>)
    650664]
     
    842856            <!-- enum types -->
    843857            <xsl:when test="
    844               (ancestor::library/enum[@name=current()]) or
    845               (ancestor::library/if[@target=$self_target]/enum[@name=current()])
     858              (ancestor::library/application/enum[@name=current()]) or
     859              (ancestor::library/application/if[@target=$self_target]/enum[@name=current()])
    846860            ">
    847861              <xsl:value-of select="."/>
     
    849863            <!-- custom interface types -->
    850864            <xsl:when test="
    851               ((ancestor::library/interface[@name=current()]) or
    852                (ancestor::library/if[@target=$self_target]/interface[@name=current()])
     865              ((ancestor::library/application/interface[@name=current()]) or
     866               (ancestor::library/application/if[@target=$self_target]/interface[@name=current()])
    853867              )
    854868            ">
     
    868882  </xsl:choose>
    869883</xsl:template>
     884   
     885   
     886<!-- Filters for switch on/off VBoxSDS definitions -->
     887 
     888<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//module/class" >
     889    <xsl:if test="$g_fVBoxWithSDS='yes'" >
     890        <xsl:call-template name="template_class" />
     891    </xsl:if>
     892</xsl:template>
     893   
     894<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']/if//interface
     895                                | application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//interface" >
     896    <xsl:if test="$g_fVBoxWithSDS='yes'" >
     897        <xsl:call-template name="template_interface" />
     898    </xsl:if>
     899</xsl:template>
     900   
     901<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//interface" mode="forward" >
     902    <xsl:if test="$g_fVBoxWithSDS='yes'" >
     903        <xsl:call-template name="template_interface_forward" />
     904    </xsl:if>
     905</xsl:template>
     906     
    870907
    871908</xsl:stylesheet>
  • trunk/src/VBox/Main/idl/xpidl.xsl

    r62486 r66274  
    148148  <!-- result codes -->
    149149  <xsl:text>// result codes declared in API spec&#x0A;</xsl:text>
    150   <xsl:for-each select="result">
     150  <xsl:for-each select="application/result">
    151151    <xsl:apply-templates select="."/>
    152152  </xsl:for-each>
    153153  <xsl:text>%}&#x0A;&#x0A;</xsl:text>
    154154  <!-- forward declarations -->
    155   <xsl:apply-templates select="if | interface" mode="forward"/>
     155  <xsl:apply-templates select="application/if | application/interface" mode="forward"/>
    156156  <xsl:text>&#x0A;</xsl:text>
    157157  <!-- all enums go first -->
    158   <xsl:apply-templates select="enum | if/enum"/>
    159   <!-- everything else but result codes and enums -->
    160   <xsl:apply-templates select="*[not(self::result or self::enum) and
    161                                  not(self::if[result] or self::if[enum])]"/>
     158  <xsl:apply-templates select="application/enum | application/if/enum"/>
     159  <!-- everything else but result codes and enums
     160  <xsl:apply-templates select="*[not(self::application/result or self::application/enum) and
     161                                 not(self::application[result] or self::application/if[enum])]"/> -->
     162  <!-- the modules (i.e. everything else) -->
     163  <xsl:apply-templates select="application/interface | application/if[interface]
     164                                   | application/module | application/if[module]"/>
    162165  <!-- -->
    163166</xsl:template>
    164167
     168
     169 <!--
     170 *  applications
     171-->
     172<xsl:template match="application">
     173  <xsl:apply-templates/>
     174</xsl:template>
     175<xsl:template match="application" mode="forward">
     176  <xsl:apply-templates mode="forward"/>
     177</xsl:template>
    165178
    166179<!--
     
    886899            <!-- enum types -->
    887900            <xsl:when test="
    888               (ancestor::library/enum[@name=current()]) or
    889               (ancestor::library/if[@target=$self_target]/enum[@name=current()])
     901              (ancestor::library/application/enum[@name=current()]) or
     902              (ancestor::library/application/if[@target=$self_target]/enum[@name=current()])
    890903            ">
    891904              <xsl:text>PRUint32</xsl:text>
     
    893906            <!-- custom interface types -->
    894907            <xsl:when test="
    895               (ancestor::library/interface[@name=current()]) or
    896                (ancestor::library/if[@target=$self_target]/interface[@name=current()])
     908              (ancestor::library/application/interface[@name=current()]) or
     909               (ancestor::library/application/if[@target=$self_target]/interface[@name=current()])
    897910            ">
    898911              <xsl:value-of select="."/>
     
    10081021            <!-- enum types -->
    10091022            <xsl:when test="
    1010               (ancestor::library/enum[@name=current()]) or
    1011               (ancestor::library/if[@target=$self_target]/enum[@name=current()])
     1023              (ancestor::library/application/enum[@name=current()]) or
     1024              (ancestor::library/application/if[@target=$self_target]/enum[@name=current()])
    10121025            ">
    10131026              <xsl:text>PRUint32</xsl:text>
     
    10151028            <!-- custom interface types -->
    10161029            <xsl:when test="
    1017               (ancestor::library/interface[@name=current()]) or
    1018               (ancestor::library/if[@target=$self_target]/interface[@name=current()])
     1030              (ancestor::library/application/interface[@name=current()]) or
     1031              (ancestor::library/application/if[@target=$self_target]/interface[@name=current()])
    10191032            ">
    10201033              <xsl:value-of select="."/>
     
    10291042</xsl:template>
    10301043
     1044<!-- Filters for switch off VBoxSDS definitions -->
     1045 
     1046<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//module/class" />
     1047
     1048<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']/if//interface
     1049| application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//interface" />
     1050
     1051<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//interface" mode="forward" />
     1052
     1053
    10311054</xsl:stylesheet>
    10321055
  • trunk/src/VBox/Main/idl/xpidl_iid.xsl

    r62486 r66274  
    9393-->
    9494<xsl:template match="library">
    95   <xsl:apply-templates select="if | interface"/>
    96   <xsl:apply-templates select="module"/>
     95  <xsl:apply-templates select="application/if | application/interface"/>
     96  <xsl:apply-templates select="application/module"/>
    9797</xsl:template>
    9898
     
    151151</xsl:template>
    152152
     153
     154<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//module/class" />
     155
     156<xsl:template match="application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']/if//interface
     157| application[@uuid='ec0e78e8-fa43-43e8-ac0a-02c784c4a4fa']//interface" />
     158
    153159</xsl:stylesheet>
    154160
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