VirtualBox

Changeset 35172 in vbox


Ignore:
Timestamp:
Dec 16, 2010 11:54:36 AM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
69011
Message:

Main/Events+VirtualBoxClient: merge VBoxSVCUnavailable and VBoxSVCAvailable events into one event with a boolean attribute
Frontends/VBoxSDL+VBoxHeadless: adjust appropriately

Location:
trunk/src/VBox
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxHeadless/VBoxHeadless.cpp

    r35152 r35172  
    106106        switch (aType)
    107107        {
    108             case VBoxEventType_OnVBoxSVCUnavailable:
    109             {
    110                 ComPtr<IVBoxSVCUnavailableEvent> pVSUEv = aEvent;
    111                 Assert(pVSUEv);
    112 
    113                 LogRel(("VBoxHeadless: VBoxSVC became unavailable, exiting.\n"));
    114                 RTPrintf("VBoxSVC became unavailable, exiting.\n");
    115                 /* Terminate the VM as cleanly as possible given that VBoxSVC
    116                  * is no longer present. */
    117                 g_fTerminateFE = true;
    118                 gEventQ->interruptEventQueueProcessing();
     108            case VBoxEventType_OnVBoxSVCAvailabilityChanged:
     109            {
     110                ComPtr<IVBoxSVCAvailabilityChangedEvent> pVSACEv = aEvent;
     111                Assert(pVSACEv);
     112                BOOL fAvailable = FALSE;
     113                pVSACEv->COMGETTER(Available)(&fAvailable);
     114                if (!fAvailable)
     115                {
     116                    LogRel(("VBoxHeadless: VBoxSVC became unavailable, exiting.\n"));
     117                    RTPrintf("VBoxSVC became unavailable, exiting.\n");
     118                    /* Terminate the VM as cleanly as possible given that VBoxSVC
     119                     * is no longer present. */
     120                    g_fTerminateFE = true;
     121                    gEventQ->interruptEventQueueProcessing();
     122                }
    119123                break;
    120124            }
     
    9981002            vboxClientListener = new VirtualBoxClientEventListenerImpl();
    9991003            com::SafeArray <VBoxEventType_T> eventTypes;
    1000             eventTypes.push_back(VBoxEventType_OnVBoxSVCUnavailable);
     1004            eventTypes.push_back(VBoxEventType_OnVBoxSVCAvailabilityChanged);
    10011005            CHECK_ERROR(pES, RegisterListener(vboxClientListener, ComSafeArrayAsInParam(eventTypes), true));
    10021006        }
  • trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp

    r34646 r35172  
    249249        switch (aType)
    250250        {
    251             case VBoxEventType_OnVBoxSVCUnavailable:
    252             {
    253                 ComPtr<IVBoxSVCUnavailableEvent> pVSUEv = aEvent;
    254                 Assert(pVSUEv);
    255 
    256                 LogRel(("VBoxSDL: VBoxSVC became unavailable, exiting.\n"));
    257                 RTPrintf("VBoxSVC became unavailable, exiting.\n");
    258                 /* Send QUIT event to terminate the VM as cleanly as possible
    259                  * given that VBoxSVC is no longer present. */
    260                 SDL_Event event = {0};
    261                 event.type = SDL_QUIT;
    262                 PushSDLEventForSure(&event);
     251            case VBoxEventType_OnVBoxSVCAvailabilityChanged:
     252            {
     253                ComPtr<IVBoxSVCAvailabilityChangedEvent> pVSACEv = aEvent;
     254                Assert(pVSACEv);
     255                BOOL fAvailable = FALSE;
     256                pVSACEv->COMGETTER(Available)(&fAvailable);
     257                if (!fAvailable)
     258                {
     259                    LogRel(("VBoxSDL: VBoxSVC became unavailable, exiting.\n"));
     260                    RTPrintf("VBoxSVC became unavailable, exiting.\n");
     261                    /* Send QUIT event to terminate the VM as cleanly as possible
     262                     * given that VBoxSVC is no longer present. */
     263                    SDL_Event event = {0};
     264                    event.type = SDL_QUIT;
     265                    PushSDLEventForSure(&event);
     266                }
    263267                break;
    264268            }
     
    18201824        pVBoxClientListener = new VBoxSDLClientEventListenerImpl();
    18211825        com::SafeArray<VBoxEventType_T> eventTypes;
    1822         eventTypes.push_back(VBoxEventType_OnVBoxSVCUnavailable);
     1826        eventTypes.push_back(VBoxEventType_OnVBoxSVCAvailabilityChanged);
    18231827        CHECK_ERROR(pES, RegisterListener(pVBoxClientListener, ComSafeArrayAsInParam(eventTypes), true));
    18241828    }
  • trunk/src/VBox/Main/VirtualBoxClientImpl.cpp

    r35135 r35172  
    238238                        pThis->mData.m_pVirtualBox.setNull();
    239239                    }
    240                     fireVBoxSVCUnavailableEvent(pThis->mData.m_pEventSource);
     240                    fireVBoxSVCAvailabilityChangedEvent(pThis->mData.m_pEventSource, FALSE);
    241241                }
    242242            }
     
    260260                        pThis->mData.m_pVirtualBox = pVBox;
    261261                    }
    262                     fireVBoxSVCAvailableEvent(pThis->mData.m_pEventSource);
     262                    fireVBoxSVCAvailabilityChangedEvent(pThis->mData.m_pEventSource, TRUE);
    263263                    cMillies = VBOXCLIENT_DEFAULT_INTERVAL;
    264264                }
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r35157 r35172  
    1476514765  <enum
    1476614766    name="VBoxEventType"
    14767     uuid="f33c82ca-1379-43a5-9211-8caae647e694"
     14767    uuid="ad800907-657f-4cd5-b14e-b609fd280a49"
    1476814768    >
    1476914769
     
    1500315003      </desc>
    1500415004    </const>
    15005     <const name="OnVBoxSVCUnavailable" value="68">
    15006       <desc>
    15007         See <link to="IVBoxSVCUnavailableEvent">IVBoxSVCUnavailableEvent</link>.
    15008       </desc>
    15009     </const>
    15010     <const name="OnVBoxSVCAvailable" value="69">
    15011       <desc>
    15012         See <link to="IVBoxSVCAvailableEvent">IVBoxSVCAvailableEvent</link>.
    15013       </desc>
    15014     </const>
    15015     <const name="OnBandwidthGroupChanged" value="70">
     15005    <const name="OnVBoxSVCAvailabilityChanged" value="68">
     15006      <desc>
     15007        See <link to="IVBoxSVCAvailabilityChangedEvent">IVBoxSVCAvailablityChangedEvent</link>.
     15008      </desc>
     15009    </const>
     15010    <const name="OnBandwidthGroupChanged" value="69">
    1501615011      <desc>
    1501715012        See <link to="IBandwidthGroupChangedEvent">IBandwidthGroupChangedEvent</link>.
    1501815013      </desc>
    1501915014    </const>
    15020     <const name="OnGuestMonitorDisabled" value="71">
     15015    <const name="OnGuestMonitorDisabled" value="70">
    1502115016      <desc>
    1502215017        See <link to="IGuestMonitorDisabledEvent">IGuestMonitorDisabledEvent</link>.
     
    1502515020
    1502615021    <!-- Last event marker -->
    15027     <const name="Last" value="72">
     15022    <const name="Last" value="71">
    1502815023      <desc>
    1502915024        Must be last event, used for iterations and structures relying on numerical event values.
     
    1630916304
    1631016305  <interface
    16311     name="IVBoxSVCUnavailableEvent" extends="IEvent"
    16312     uuid="99f6b352-f5c1-4d15-9c32-939158da8983"
    16313     wsmap="managed" autogen="VBoxEvent" id="OnVBoxSVCUnavailable"
     16306    name="IVBoxSVCAvailabilityChangedEvent" extends="IEvent"
     16307    uuid="97c78fcd-d4fc-485f-8613-5af88bfcfcdc"
     16308    wsmap="managed" autogen="VBoxEvent" id="OnVBoxSVCAvailabilityChanged"
    1631416309    >
    1631516310    <desc>
    1631616311      Notification when VBoxSVC becomes unavailable (due to a crash or similar
    16317       unexpected circumstances).
     16312      unexpected circumstances) or available again.
    1631816313    </desc>
    16319   </interface>
    16320 
    16321   <interface
    16322     name="IVBoxSVCAvailableEvent" extends="IEvent"
    16323     uuid="0c971ea4-f3e0-4f4d-8558-ea0239c83031"
    16324     wsmap="managed" autogen="VBoxEvent" id="OnVBoxSVCAvailable"
    16325     >
    16326     <desc>
    16327       Notification when VBoxSVC becomes available again after being unavailable.
    16328     </desc>
     16314
     16315    <attribute name="available" type="boolean" readonly="yes">
     16316      <desc>
     16317        Whether VBoxSVC is available now.
     16318      </desc>
     16319    </attribute>
    1632916320  </interface>
    1633016321
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