/**
* Copyright (C) 2010 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* you can redistribute it and/or modify it under the terms of the GNU
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*
*
* DO NOT EDIT! This is a generated file.
* Generated from: src/VBox/Main/idl/VirtualBox.xidl (VirtualBox's interface definitions in XML)
* Generator: src/VBox/Main/idl/autogen.xsl
*/
FinalRelease();
BaseFinalRelease();
}
STDMETHOD(COMGETTER(Type)) (VBoxEventType_T *aType)
{
return ((VBoxEvent*)mEvent)->COMGETTER(Type) (aType);
}
STDMETHOD(COMGETTER(Source)) (IEventSource * *aSource)
{
return ((VBoxEvent*)mEvent)->COMGETTER(Source) (aSource);
}
STDMETHOD(COMGETTER(Waitable)) (BOOL *aWaitable)
{
return ((VBoxEvent*)mEvent)->COMGETTER(Waitable) (aWaitable);
}
STDMETHOD(SetProcessed)()
{
return ((VBoxEvent*)mEvent)->SetProcessed();
}
STDMETHOD(WaitProcessed)(LONG aTimeout, BOOL *aResult)
{
return ((VBoxEvent*)mEvent)->WaitProcessed(aTimeout, aResult);
}
void uninit()
{
if (!mEvent.isNull())
{
mEvent->uninit();
mEvent.setNull();
}
}
]]>
init(aSource, aType);
}
STDMETHOD(AddVeto)(IN_BSTR aVeto)
{
return mEvent->AddVeto(aVeto);
}
STDMETHOD(IsVetoed)(BOOL *aResult)
{
return mEvent->IsVetoed(aResult);
}
STDMETHOD(GetVetos)(ComSafeArrayOut(BSTR, aVetos))
{
return mEvent->GetVetos(ComSafeArrayOutArg(aVetos));
}
private:
ComObjPtr mEvent;
]]>
init(aSource, aType, aWaitable);
}
STDMETHOD(COMGETTER(Generation)) (ULONG *aGeneration)
{
*aGeneration = mGeneration;
return S_OK;
}
STDMETHOD(Reuse) ()
{
ASMAtomicIncU32((volatile uint32_t*)&mGeneration);
return S_OK;
}
private:
volatile ULONG mGeneration;
ComObjPtr mEvent;
]]>
init(aSource, aType, aWaitable);
}
private:
ComObjPtr mEvent;
]]>
#include
#include "EventImpl.h"
]]>