/* $Id$ */
/** @file
* VirtualBox COM: API wrapper helpers
*/
/*
* Copyright (C) 2012-2014 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* 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.
*/
#ifndef ____H_WRAPPER
#define ____H_WRAPPER
#include <vector>
#include "AutoCaller.h"
/**
* Checks that the given pointer to an output argument is valid and throws
* E_POINTER + extended error info otherwise.
* @param arg Pointer argument.
*/
do { \
tr("Output argument %s points to invalid memory location (%p)"), \
} while (0)
{
{
}
{
}
{
if (mDst)
}
{
return mStr;
}
};
{
{
}
{
}
{
}
{
return mSrc;
}
};
{
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
{
}
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
{
}
{
if (mDst)
{
}
}
{
return mArray;
}
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
};
{
{
}
{
if (!ComSafeArrayInIsNull(aSrc))
{
}
}
{
}
{
return mArray;
}
};
{
{
}
{
}
{
if (mDst)
}
{
return mUuid;
}
};
{
{
}
{
}
{
}
{
return mSrc;
}
};
{
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
{
}
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
{
}
{
if (mDst)
{
}
}
{
return mArray;
}
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
};
{
{
}
{
}
{
if (mDst)
}
{
return mPtr;
}
A **mDst;
};
{
{
}
{
}
{
}
{
return mSrc;
}
};
{
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
{
}
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
{
}
{
if (mDst)
{
}
}
{
return mArray;
}
#ifdef VBOX_WITH_XPCOM
A ***mDst;
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
};
{
{
}
{
if (!ComSafeArrayInIsNull(aSrc))
{
}
}
{
}
{
return mArray;
}
};
{
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
{
}
#ifdef VBOX_WITH_XPCOM
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
{
}
{
if (mDst)
{
}
}
{
return mArray;
}
#ifdef VBOX_WITH_XPCOM
A **mDst;
#else // !VBOX_WITH_XPCOM
#endif // !VBOX_WITH_XPCOM
};
{
{
}
{
if (!ComSafeArrayInIsNull(aSrc))
{
}
}
{
}
{
return mArray;
}
};
#endif // !____H_WRAPPER
/* vi: set tabstop=4 shiftwidth=4 expandtab: */