VirtualBox

Changeset 18806 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 7, 2009 11:41:25 AM (16 years ago)
Author:
vboxsync
Message:

tstXPCOMCCall.c: adjustments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/cbinding/tstXPCOMCCall.c

    r18786 r18806  
    3535static void startVM(IVirtualBox *virtualBox, ISession *session, nsID *id);
    3636
    37 int refcount = 0;
     37int volatile g_refcount = 0;
    3838
    3939/**
     
    8181}
    8282
    83 nsresult OnMousePointerShapeChange(
     83static nsresult OnMousePointerShapeChange(
    8484    IConsoleCallback *this_,
    8585    PRBool visible,
     
    9595}
    9696
    97 nsresult OnMouseCapabilityChange(
     97static nsresult OnMouseCapabilityChange(
    9898    IConsoleCallback *this_,
    9999    PRBool supportsAbsolute,
     
    104104}
    105105
    106 nsresult OnKeyboardLedsChange(
     106static nsresult OnKeyboardLedsChange(
    107107    IConsoleCallback *this_,
    108108    PRBool numLock,
     
    114114}
    115115
    116 nsresult OnStateChange(
     116static nsresult OnStateChange(
    117117    IConsoleCallback *this_,
    118118    PRUint32 state
     
    124124}
    125125
    126 nsresult OnAdditionsStateChange(IConsoleCallback *this_ )
    127 {
    128     printf("%d here\n",__LINE__);
    129     return 0;
    130 }
    131 
    132 nsresult OnDVDDriveChange(IConsoleCallback *this_ )
    133 {
    134     printf("%d here\n",__LINE__);
    135     return 0;
    136 }
    137 
    138 nsresult OnFloppyDriveChange(IConsoleCallback *this_ )
    139 {
    140     printf("%d here\n",__LINE__);
    141     return 0;
    142 }
    143 
    144 nsresult OnNetworkAdapterChange(
     126static nsresult OnAdditionsStateChange(IConsoleCallback *this_ )
     127{
     128    printf("%d here\n",__LINE__);
     129    return 0;
     130}
     131
     132static nsresult OnDVDDriveChange(IConsoleCallback *this_ )
     133{
     134    printf("%d here\n",__LINE__);
     135    return 0;
     136}
     137
     138static nsresult OnFloppyDriveChange(IConsoleCallback *this_ )
     139{
     140    printf("%d here\n",__LINE__);
     141    return 0;
     142}
     143
     144static nsresult OnNetworkAdapterChange(
    145145    IConsoleCallback *this_,
    146146    INetworkAdapter * networkAdapter
     
    150150}
    151151
    152 nsresult OnSerialPortChange(
     152static nsresult OnSerialPortChange(
    153153    IConsoleCallback *this_,
    154154    ISerialPort * serialPort
     
    158158}
    159159
    160 nsresult OnParallelPortChange(
     160static nsresult OnParallelPortChange(
    161161    IConsoleCallback *this_,
    162162    IParallelPort * parallelPort
     
    166166}
    167167
    168 nsresult OnStorageControllerChange(IConsoleCallback *this_ )
    169 {
    170     printf("%d here\n",__LINE__);
    171     return 0;
    172 }
    173 
    174 nsresult OnVRDPServerChange(IConsoleCallback *this_ )
    175 {
    176     printf("%d here\n",__LINE__);
    177     return 0;
    178 }
    179 
    180 nsresult OnUSBControllerChange(IConsoleCallback *this_ )
    181 {
    182     printf("%d here\n",__LINE__);
    183     return 0;
    184 }
    185 
    186 nsresult OnUSBDeviceStateChange(
     168static nsresult OnStorageControllerChange(IConsoleCallback *this_ )
     169{
     170    printf("%d here\n",__LINE__);
     171    return 0;
     172}
     173
     174static nsresult OnVRDPServerChange(IConsoleCallback *this_ )
     175{
     176    printf("%d here\n",__LINE__);
     177    return 0;
     178}
     179
     180static nsresult OnUSBControllerChange(IConsoleCallback *this_ )
     181{
     182    printf("%d here\n",__LINE__);
     183    return 0;
     184}
     185
     186static nsresult OnUSBDeviceStateChange(
    187187    IConsoleCallback *this_,
    188188    IUSBDevice * device,
     
    194194}
    195195
    196 nsresult OnSharedFolderChange(
     196static nsresult OnSharedFolderChange(
    197197    IConsoleCallback *this_,
    198198    PRUint32 scope
     
    202202}
    203203
    204 nsresult OnRuntimeError(
     204static nsresult OnRuntimeError(
    205205    IConsoleCallback *this_,
    206206    PRBool fatal,
     
    212212}
    213213
    214 nsresult OnCanShowWindow(
     214static nsresult OnCanShowWindow(
    215215    IConsoleCallback *this_,
    216216    PRBool * canShow
     
    220220}
    221221
    222 nsresult OnShowWindow(
     222static nsresult OnShowWindow(
    223223    IConsoleCallback *this_,
    224224    PRUint64 * winId
     
    229229
    230230
    231 nsresult AddRef(IConsoleCallback *this_)
    232 {
     231static nsresult AddRef(nsISupports *this_)
     232{
     233    nsresult c;
     234
    233235    printf("AddRef\n");
    234     refcount++;
    235     return refcount;
    236 }
    237 
    238 nsresult Release(IConsoleCallback *this_)
    239 {
     236    c = g_refcount++;
     237    return c;
     238}
     239
     240static nsresult Release(nsISupports *this_)
     241{
     242    nsresult c;
    240243    printf("Release\n");
    241     refcount--;
    242     return refcount;
    243 }
    244 
    245 nsresult QueryInterface(IConsoleCallback *this_, const nsID *iid, void **resultp)
    246 {
     244
     245    c = g_refcount--;
     246    if (c == 0)
     247    {
     248        /* delete object */
     249#if 0 /* test */
     250        free(this_->vtbl);
     251        free(this_);
     252#endif
     253    }
     254    return c;
     255}
     256
     257static nsresult QueryInterface(nsISupports *this_, const nsID *iid, void **resultp)
     258{
     259    IConsoleCallback *that = (IConsoleCallback *)this_;
     260
    247261    printf("QueryInterface\n");
    248     refcount++;
    249     *resultp = this_;
     262    /* match iid */
     263    g_refcount++;
     264    *resultp = that;
    250265    return 0;
    251266}
     
    287302            consoleCallback->vtbl->OnCanShowWindow = &OnCanShowWindow;
    288303            consoleCallback->vtbl->OnShowWindow = &OnShowWindow;
     304            g_refcount = 1;
    289305
    290306            printf("%d here\n",__LINE__);
     
    292308            printf("%d here\n",__LINE__);
    293309
    294             int run = 10;
    295             while (run-- > 0) {
    296                 sleep(1);
    297                 printf("waiting here:%d\n",run);
    298                 fflush(stdout);
     310            {
     311                int run = 10;
     312                while (run-- > 0) {
     313                    sleep(1);
     314                    printf("waiting here:%d\n",run);
     315                    fflush(stdout);
     316                }
    299317            }
    300318            console->vtbl->UnregisterCallback(console, consoleCallback);
    301319        }
    302         //free(consoleCallback->vtbl);
    303         //free(consoleCallback);
     320        /*consoleCallback->vtbl->Release(consoleCallback);*/
    304321    }
    305322    session->vtbl->Close((void *)session);
     
    447464
    448465            machine->vtbl->GetId(machine, &iid);
    449             //startVM(virtualBox, session, iid);
     466            /*startVM(virtualBox, session, iid);*/
    450467            registerCallBack(virtualBox, session, iid);
    451468
     
    464481        if (machine)
    465482        {
    466             machine->vtbl->nsisupports.Release((void *)machine);
     483            machine->vtbl->nsisupports.Release((nsISupports *)machine);
    467484        }
    468485    }
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