EventImpl.h revision 8532fcd8b260a1648f09ab3df65e5353aa148825
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync * VirtualBox COM IEvent implementation
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync * Copyright (C) 2010 Oracle Corporation
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync * available from http://www.virtualbox.org. This file is free software;
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync * you can redistribute it and/or modify it under the terms of the GNU
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync * General Public License (GPL) as published by the Free Software
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync public VirtualBoxSupportErrorInfoImpl<VBoxEvent, IEvent>,
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync // public initializer/uninitializer for internal purposes only
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync HRESULT init (IEventSource *aSource, VBoxEventType_T aType, BOOL aWaitable);
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync // IEvent properties
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync STDMETHOD(COMGETTER(Type)) (VBoxEventType_T *aType);
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync STDMETHOD(COMGETTER(Source)) (IEventSource * *aSource);
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync // IEvent methods
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync STDMETHOD(WaitProcessed)(LONG aTimeout, BOOL *aResult);
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync // for VirtualBoxSupportErrorInfoImpl
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync static const wchar_t *getComponentName() { return L"Event"; }
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync public VirtualBoxSupportErrorInfoImpl<EventSource, IEventSource>,
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync // public initializer/uninitializer for internal purposes only
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync // IEventSource methods
94b7446cdceebfaf85efe6c4af03a57342a8031evboxsync STDMETHOD(CreateListener)(IEventListener ** aListener);
8532fcd8b260a1648f09ab3df65e5353aa148825vboxsync STDMETHOD(RegisterListener)(IEventListener * aListener,
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync STDMETHOD(UnregisterListener)(IEventListener * aListener);
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync STDMETHOD(EventProcessed)(IEventListener * aListener,
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync // for VirtualBoxSupportErrorInfoImpl
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync static const wchar_t *getComponentName() { return L"EventSource"; }
8532fcd8b260a1648f09ab3df65e5353aa148825vboxsync HRESULT init(IEventSource* aSource, VBoxEventType_T aType, ...);
a7d389fbff436fb217a78d48fab17adcaf43dc54vboxsync#endif // ____H_EVENTIMPL