VirtualBox

Changeset 23636 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Oct 9, 2009 11:18:56 AM (15 years ago)
Author:
vboxsync
Message:

VirtualBoxBash.h: Added RT_UNLIKELY around a bunch of assertion and argument checks - or 'coding scenes: bird as prophet' as Schumann would've put it ;-). Removed whitespace.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/VirtualBoxBase.h

    r23327 r23636  
    138138 */
    139139#if defined (DEBUG)
    140 #define ComAssert(expr)    Assert (expr)
     140#define ComAssert(expr)    Assert(expr)
    141141#else
    142142#define ComAssert(expr)    \
    143143    do { \
    144         if (!(expr)) \
    145             setError (E_FAIL, "Assertion failed: [%s] at '%s' (%d) in %s.\n" \
    146                               "Please contact the product vendor!", \
    147                       #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__); \
     144        if (RT_UNLIKELY(!(expr))) \
     145            setError(E_FAIL, "Assertion failed: [%s] at '%s' (%d) in %s.\n" \
     146                             "Please contact the product vendor!", \
     147                     #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__); \
    148148    } while (0)
    149149#endif
     
    159159 */
    160160#if defined (DEBUG)
    161 #define ComAssertMsg(expr, a)  AssertMsg (expr, a)
     161#define ComAssertMsg(expr, a)  AssertMsg(expr, a)
    162162#else
    163163#define ComAssertMsg(expr, a)  \
    164164    do { \
    165         if (!(expr)) \
    166             setError (E_FAIL, "Assertion failed: [%s] at '%s' (%d) in %s.\n" \
    167                               "%s.\n" \
    168                               "Please contact the product vendor!", \
    169                       #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__, Utf8StrFmt a .raw()); \
     165        if (RT_UNLIKELY(!(expr))) \
     166            setError(E_FAIL, "Assertion failed: [%s] at '%s' (%d) in %s.\n" \
     167                             "%s.\n" \
     168                             "Please contact the product vendor!", \
     169                     #expr, __FILE__, __LINE__, __PRETTY_FUNCTION__, Utf8StrFmt a .raw()); \
    170170    } while (0)
    171171#endif
     
    180180 */
    181181#if defined (DEBUG)
    182 #define ComAssertRC(vrc)    AssertRC (vrc)
     182#define ComAssertRC(vrc)    AssertRC(vrc)
    183183#else
    184 #define ComAssertRC(vrc)    ComAssertMsgRC (vrc, ("%Rra", vrc))
     184#define ComAssertRC(vrc)    ComAssertMsgRC(vrc, ("%Rra", vrc))
    185185#endif
    186186
     
    195195 */
    196196#if defined (DEBUG)
    197 #define ComAssertMsgRC(vrc, msg)    AssertMsgRC (vrc, msg)
     197#define ComAssertMsgRC(vrc, msg)    AssertMsgRC(vrc, msg)
    198198#else
    199 #define ComAssertMsgRC(vrc, msg)    ComAssertMsg (RT_SUCCESS (vrc), msg)
     199#define ComAssertMsgRC(vrc, msg)    ComAssertMsg(RT_SUCCESS(vrc), msg)
    200200#endif
    201201
     
    212212#define ComAssertFailed()   \
    213213    do { \
    214         setError (E_FAIL, "Assertion failed at '%s' (%d) in %s.\n" \
    215                           "Please contact the product vendor!", \
    216                   __FILE__, __LINE__, __PRETTY_FUNCTION__); \
     214        setError(E_FAIL, "Assertion failed at '%s' (%d) in %s.\n" \
     215                         "Please contact the product vendor!", \
     216                 __FILE__, __LINE__, __PRETTY_FUNCTION__); \
    217217    } while (0)
    218218#endif
     
    231231#define ComAssertMsgFailed(a)   \
    232232    do { \
    233         setError (E_FAIL, "Assertion failed at '%s' (%d) in %s.\n" \
    234                           "%s.\n" \
    235                           "Please contact the product vendor!", \
    236                   __FILE__, __LINE__, __PRETTY_FUNCTION__, Utf8StrFmt a .raw()); \
     233        setError(E_FAIL, "Assertion failed at '%s' (%d) in %s.\n" \
     234                         "%s.\n" \
     235                         "Please contact the product vendor!", \
     236                 __FILE__, __LINE__, __PRETTY_FUNCTION__, Utf8StrFmt a .raw()); \
    237237    } while (0)
    238238#endif
     
    249249#define ComAssertMsgFailedPos(a, file, line, func)              \
    250250    do {                                                        \
    251         AssertMsg1 ((const char *) 0, line, file, func);        \
     251        AssertMsg1((const char *)0, line, file, func);          \
    252252        AssertMsg2 a;                                           \
    253253        AssertBreakpoint();                                     \
     
    256256#define ComAssertMsgFailedPos(a, file, line, func)              \
    257257    do {                                                        \
    258         setError (E_FAIL,                                       \
    259                   "Assertion failed at '%s' (%d) in %s.\n"      \
    260                   "%s.\n"                                       \
    261                   "Please contact the product vendor!",         \
    262                   file, line, func, Utf8StrFmt a .raw());       \
     258        setError(E_FAIL,                                        \
     259                 "Assertion failed at '%s' (%d) in %s.\n"       \
     260                 "%s.\n"                                        \
     261                 "Please contact the product vendor!",          \
     262                 file, line, func, Utf8StrFmt a .raw());        \
    263263    } while (0)
    264264#endif
     
    273273 */
    274274#if defined (DEBUG)
    275 #define ComAssertComRC(rc)  AssertComRC (rc)
     275#define ComAssertComRC(rc)  AssertComRC(rc)
    276276#else
    277 #define ComAssertComRC(rc)  ComAssertMsg (SUCCEEDED (rc), ("COM RC = %Rhrc (0x%08X)", (rc), (rc)))
     277#define ComAssertComRC(rc)  ComAssertMsg(SUCCEEDED(rc), ("COM RC = %Rhrc (0x%08X)", (rc), (rc)))
    278278#endif
    279279
     
    281281/** Special version of ComAssert that returns ret if expr fails */
    282282#define ComAssertRet(expr, ret)             \
    283     do { ComAssert (expr); if (!(expr)) return (ret); } while (0)
     283    do { ComAssert(expr); if (!(expr)) return (ret); } while (0)
    284284/** Special version of ComAssertMsg that returns ret if expr fails */
    285285#define ComAssertMsgRet(expr, a, ret)       \
    286     do { ComAssertMsg (expr, a); if (!(expr)) return (ret); } while (0)
     286    do { ComAssertMsg(expr, a); if (!(expr)) return (ret); } while (0)
    287287/** Special version of ComAssertRC that returns ret if vrc does not succeed */
    288288#define ComAssertRCRet(vrc, ret)            \
    289     do { ComAssertRC (vrc); if (!RT_SUCCESS (vrc)) return (ret); } while (0)
     289    do { ComAssertRC(vrc); if (!RT_SUCCESS(vrc)) return (ret); } while (0)
    290290/** Special version of ComAssertMsgRC that returns ret if vrc does not succeed */
    291291#define ComAssertMsgRCRet(vrc, msg, ret)    \
    292     do { ComAssertMsgRC (vrc, msg); if (!RT_SUCCESS (vrc)) return (ret); } while (0)
     292    do { ComAssertMsgRC(vrc, msg); if (!RT_SUCCESS(vrc)) return (ret); } while (0)
    293293/** Special version of ComAssertFailed that returns ret */
    294294#define ComAssertFailedRet(ret)             \
     
    296296/** Special version of ComAssertMsgFailed that returns ret */
    297297#define ComAssertMsgFailedRet(msg, ret)     \
    298     do { ComAssertMsgFailed (msg); return (ret); } while (0)
     298    do { ComAssertMsgFailed(msg); return (ret); } while (0)
    299299/** Special version of ComAssertComRC that returns ret if rc does not succeed */
    300300#define ComAssertComRCRet(rc, ret)          \
    301     do { ComAssertComRC (rc); if (!SUCCEEDED (rc)) return (ret); } while (0)
     301    do { ComAssertComRC(rc); if (!SUCCEEDED(rc)) return (ret); } while (0)
    302302/** Special version of ComAssertComRC that returns rc if rc does not succeed */
    303303#define ComAssertComRCRetRC(rc)             \
    304     do { ComAssertComRC (rc); if (!SUCCEEDED (rc)) return (rc); } while (0)
     304    do { ComAssertComRC(rc); if (!SUCCEEDED(rc)) return (rc); } while (0)
    305305
    306306
    307307/** Special version of ComAssert that evaluates eval and breaks if expr fails */
    308308#define ComAssertBreak(expr, eval)                \
    309     if (1) { ComAssert (expr); if (!(expr)) { eval; break; } } else do {} while (0)
     309    if (1) { ComAssert(expr); if (!(expr)) { eval; break; } } else do {} while (0)
    310310/** Special version of ComAssertMsg that evaluates eval and breaks if expr fails */
    311311#define ComAssertMsgBreak(expr, a, eval)          \
    312     if (1)  { ComAssertMsg (expr, a); if (!(expr)) { eval; break; } } else do {} while (0)
     312    if (1)  { ComAssertMsg(expr, a); if (!(expr)) { eval; break; } } else do {} while (0)
    313313/** Special version of ComAssertRC that evaluates eval and breaks if vrc does not succeed */
    314314#define ComAssertRCBreak(vrc, eval)               \
    315     if (1)  { ComAssertRC (vrc); if (!RT_SUCCESS (vrc)) { eval; break; } } else do {} while (0)
     315    if (1)  { ComAssertRC(vrc); if (!RT_SUCCESS(vrc)) { eval; break; } } else do {} while (0)
    316316/** Special version of ComAssertMsgRC that evaluates eval and breaks if vrc does not succeed */
    317317#define ComAssertMsgRCBreak(vrc, msg, eval)       \
    318     if (1)  { ComAssertMsgRC (vrc, msg); if (!RT_SUCCESS (vrc)) { eval; break; } } else do {} while (0)
     318    if (1)  { ComAssertMsgRC(vrc, msg); if (!RT_SUCCESS(vrc)) { eval; break; } } else do {} while (0)
    319319/** Special version of ComAssertFailed that evaluates eval and breaks */
    320320#define ComAssertFailedBreak(eval)                \
     
    325325/** Special version of ComAssertComRC that evaluates eval and breaks if rc does not succeed */
    326326#define ComAssertComRCBreak(rc, eval)             \
    327     if (1)  { ComAssertComRC (rc); if (!SUCCEEDED (rc)) { eval; break; } } else do {} while (0)
     327    if (1)  { ComAssertComRC(rc); if (!SUCCEEDED(rc)) { eval; break; } } else do {} while (0)
    328328/** Special version of ComAssertComRC that just breaks if rc does not succeed */
    329329#define ComAssertComRCBreakRC(rc)                 \
    330     if (1)  { ComAssertComRC (rc); if (!SUCCEEDED (rc)) { break; } } else do {} while (0)
     330    if (1)  { ComAssertComRC(rc); if (!SUCCEEDED(rc)) { break; } } else do {} while (0)
    331331
    332332
    333333/** Special version of ComAssert that evaluates eval and throws it if expr fails */
    334334#define ComAssertThrow(expr, eval)                \
    335     if (1) { ComAssert (expr); if (!(expr)) { throw (eval); } } else do {} while (0)
     335    if (1) { ComAssert(expr); if (!(expr)) { throw (eval); } } else do {} while (0)
    336336/** Special version of ComAssertMsg that evaluates eval and throws it if expr fails */
    337337#define ComAssertMsgThrow(expr, a, eval)          \
    338     if (1)  { ComAssertMsg (expr, a); if (!(expr)) { throw (eval); } } else do {} while (0)
     338    if (1)  { ComAssertMsg(expr, a); if (!(expr)) { throw (eval); } } else do {} while (0)
    339339/** Special version of ComAssertRC that evaluates eval and throws it if vrc does not succeed */
    340340#define ComAssertRCThrow(vrc, eval)               \
    341     if (1)  { ComAssertRC (vrc); if (!RT_SUCCESS (vrc)) { throw (eval); } } else do {} while (0)
     341    if (1)  { ComAssertRC(vrc); if (!RT_SUCCESS(vrc)) { throw (eval); } } else do {} while (0)
    342342/** Special version of ComAssertMsgRC that evaluates eval and throws it if vrc does not succeed */
    343343#define ComAssertMsgRCThrow(vrc, msg, eval)       \
    344     if (1)  { ComAssertMsgRC (vrc, msg); if (!RT_SUCCESS (vrc)) { throw (eval); } } else do {} while (0)
     344    if (1)  { ComAssertMsgRC(vrc, msg); if (!RT_SUCCESS(vrc)) { throw (eval); } } else do {} while (0)
    345345/** Special version of ComAssertFailed that evaluates eval and throws it */
    346346#define ComAssertFailedThrow(eval)                \
     
    351351/** Special version of ComAssertComRC that evaluates eval and throws it if rc does not succeed */
    352352#define ComAssertComRCThrow(rc, eval)             \
    353     if (1)  { ComAssertComRC (rc); if (!SUCCEEDED (rc)) { throw (eval); } } else do {} while (0)
     353    if (1)  { ComAssertComRC(rc); if (!SUCCEEDED(rc)) { throw (eval); } } else do {} while (0)
    354354/** Special version of ComAssertComRC that just throws rc if rc does not succeed */
    355355#define ComAssertComRCThrowRC(rc)                 \
    356     if (1)  { ComAssertComRC (rc); if (!SUCCEEDED (rc)) { throw rc; } } else do {} while (0)
     356    if (1)  { ComAssertComRC(rc); if (!SUCCEEDED(rc)) { throw rc; } } else do {} while (0)
    357357
    358358////////////////////////////////////////////////////////////////////////////////
     
    365365#define CheckComArgNotNull(arg) \
    366366    do { \
    367         if ((arg) == NULL) \
    368             return setError (E_INVALIDARG, tr ("Argument %s is NULL"), #arg); \
     367        if (RT_UNLIKELY((arg) == NULL)) \
     368            return setError(E_INVALIDARG, tr("Argument %s is NULL"), #arg); \
    369369    } while (0)
    370370
     
    376376#define CheckComArgSafeArrayNotNull(arg) \
    377377    do { \
    378         if (ComSafeArrayInIsNull (arg)) \
    379             return setError (E_INVALIDARG, tr ("Argument %s is NULL"), #arg); \
     378        if (RT_UNLIKELY(ComSafeArrayInIsNull(arg))) \
     379            return setError(E_INVALIDARG, tr("Argument %s is NULL"), #arg); \
    380380    } while (0)
    381381
     
    387387#define CheckComArgStrNotEmptyOrNull(arg) \
    388388    do { \
    389         if ((arg) == NULL || *(arg) == '\0') \
    390             return setError (E_INVALIDARG, \
    391                 tr ("Argument %s is empty or NULL"), #arg); \
     389        if (RT_UNLIKELY((arg) == NULL || *(arg) == '\0')) \
     390            return setError(E_INVALIDARG, \
     391                tr("Argument %s is empty or NULL"), #arg); \
    392392    } while (0)
    393393
     
    400400#define CheckComArgExpr(arg, expr) \
    401401    do { \
    402         if (!(expr)) \
    403             return setError (E_INVALIDARG, \
    404                 tr ("Argument %s is invalid (must be %s)"), #arg, #expr); \
     402        if (RT_UNLIKELY(!(expr))) \
     403            return setError(E_INVALIDARG, \
     404                tr("Argument %s is invalid (must be %s)"), #arg, #expr); \
    405405    } while (0)
    406406
     
    416416#define CheckComArgExprMsg(arg, expr, msg) \
    417417    do { \
    418         if (!(expr)) \
    419             return setError (E_INVALIDARG, tr ("Argument %s %s"), \
    420                              #arg, Utf8StrFmt msg .raw()); \
     418        if (RT_UNLIKELY(!(expr))) \
     419            return setError(E_INVALIDARG, tr ("Argument %s %s"), \
     420                            #arg, Utf8StrFmt msg .raw()); \
    421421    } while (0)
    422422
     
    428428#define CheckComArgOutPointerValid(arg) \
    429429    do { \
    430         if (!VALID_PTR (arg)) \
    431             return setError (E_POINTER, \
    432                 tr ("Output argument %s points to invalid memory location (%p)"), \
     430        if (RT_UNLIKELY(!VALID_PTR(arg))) \
     431            return setError(E_POINTER, \
     432                tr("Output argument %s points to invalid memory location (%p)"), \
    433433                #arg, (void *) (arg)); \
    434434    } while (0)
     
    441441#define CheckComArgOutSafeArrayPointerValid(arg) \
    442442    do { \
    443         if (ComSafeArrayOutIsNull (arg)) \
    444             return setError (E_POINTER, \
    445                 tr ("Output argument %s points to invalid memory location (%p)"), \
     443        if (RT_UNLIKELY(ComSafeArrayOutIsNull(arg))) \
     444            return setError(E_POINTER, \
     445                tr("Output argument %s points to invalid memory location (%p)"), \
    446446                #arg, (void *) (arg)); \
    447447    } while (0)
     
    452452#define ReturnComNotImplemented() \
    453453    do { \
    454         return setError (E_NOTIMPL, tr ("Method %s is not implemented"), __FUNCTION__); \
     454        return setError(E_NOTIMPL, tr("Method %s is not implemented"), __FUNCTION__); \
    455455    } while (0)
    456456
     
    584584    virtual void uninit() {}
    585585
    586     virtual HRESULT addCaller (State *aState = NULL, bool aLimited = false);
     586    virtual HRESULT addCaller(State *aState = NULL, bool aLimited = false);
    587587    virtual void releaseCaller();
    588588
     
    592592     * better self-descriptiveness. See #addCaller() for more info.
    593593     */
    594     HRESULT addLimitedCaller (State *aState = NULL)
    595     {
    596         return addCaller (aState, true /* aLimited */);
     594    HRESULT addLimitedCaller(State *aState = NULL)
     595    {
     596        return addCaller(aState, true /* aLimited */);
    597597    }
    598598
     
    619619     *       self-descriptiveness.
    620620     */
    621     template <bool aLimited>
     621    template<bool aLimited>
    622622    class AutoCallerBase
    623623    {
     
    633633         *                  NotReady).
    634634         */
    635         AutoCallerBase (VirtualBoxBaseProto *aObj)
    636             : mObj (aObj)
    637             , mRC (S_OK)
    638             , mState (NotReady)
     635        AutoCallerBase(VirtualBoxBaseProto *aObj)
     636            : mObj(aObj)
     637            , mRC(S_OK)
     638            , mState(NotReady)
    639639        {
    640640            if (mObj)
    641                 mRC =  mObj->addCaller (&mState, aLimited);
     641                mRC = mObj->addCaller(&mState, aLimited);
    642642        }
    643643
     
    648648        ~AutoCallerBase()
    649649        {
    650             if (mObj && SUCCEEDED (mRC))
     650            if (mObj && SUCCEEDED(mRC))
    651651                mObj->releaseCaller();
    652652        }
     
    663663         * |true| means the number of callers was successfully increased.
    664664         */
    665         bool isOk() const { return SUCCEEDED (mRC); }
     665        bool isOk() const { return SUCCEEDED(mRC); }
    666666
    667667        /**
     
    678678        void release()
    679679        {
    680             Assert (SUCCEEDED (mRC));
    681             if (SUCCEEDED (mRC))
     680            Assert(SUCCEEDED(mRC));
     681            if (SUCCEEDED(mRC))
    682682            {
    683683                if (mObj)
     
    693693        void add()
    694694        {
    695             Assert (!SUCCEEDED (mRC));
    696             if (mObj && !SUCCEEDED (mRC))
    697                 mRC = mObj->addCaller (&mState, aLimited);
     695            Assert(!SUCCEEDED(mRC));
     696            if (mObj && !SUCCEEDED(mRC))
     697                mRC = mObj->addCaller(&mState, aLimited);
    698698        }
    699699
     
    704704         * @param aObj  New object to attach, may be @c NULL.
    705705         */
    706         void attach (VirtualBoxBaseProto *aObj)
     706        void attach(VirtualBoxBaseProto *aObj)
    707707        {
    708708            /* detect simple self-reattachment */
    709709            if (mObj != aObj)
    710710            {
    711                 if (mObj && SUCCEEDED (mRC))
     711                if (mObj && SUCCEEDED(mRC))
    712712                    release();
    713713                mObj = aObj;
     
    717717
    718718        /** Verbose equivalent to <tt>attach (NULL)</tt>. */
    719         void detach() { attach (NULL); }
     719        void detach() { attach(NULL); }
    720720
    721721    private:
    722722
    723         DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP (AutoCallerBase)
    724         DECLARE_CLS_NEW_DELETE_NOOP (AutoCallerBase)
     723        DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP(AutoCallerBase)
     724        DECLARE_CLS_NEW_DELETE_NOOP(AutoCallerBase)
    725725
    726726        VirtualBoxBaseProto *mObj;
     
    752752     * See AutoCallerBase for more information about auto caller functionality.
    753753     */
    754     typedef AutoCallerBase <false> AutoCaller;
     754    typedef AutoCallerBase<false> AutoCaller;
    755755
    756756    /**
     
    777777     * See AutoCallerBase for more information about auto caller functionality.
    778778     */
    779     typedef AutoCallerBase <true> AutoLimitedCaller;
     779    typedef AutoCallerBase<true> AutoLimitedCaller;
    780780
    781781protected:
     
    836836        enum Result { Failed = 0x0, Succeeded = 0x1, Limited = 0x2 };
    837837
    838         AutoInitSpan (VirtualBoxBaseProto *aObj, Result aResult = Failed);
     838        AutoInitSpan(VirtualBoxBaseProto *aObj, Result aResult = Failed);
    839839        ~AutoInitSpan();
    840840
     
    873873    private:
    874874
    875         DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP (AutoInitSpan)
    876         DECLARE_CLS_NEW_DELETE_NOOP (AutoInitSpan)
     875        DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP(AutoInitSpan)
     876        DECLARE_CLS_NEW_DELETE_NOOP(AutoInitSpan)
    877877
    878878        VirtualBoxBaseProto *mObj;
     
    930930    public:
    931931
    932         AutoReinitSpan (VirtualBoxBaseProto *aObj);
     932        AutoReinitSpan(VirtualBoxBaseProto *aObj);
    933933        ~AutoReinitSpan();
    934934
     
    948948    private:
    949949
    950         DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP (AutoReinitSpan)
    951         DECLARE_CLS_NEW_DELETE_NOOP (AutoReinitSpan)
     950        DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP(AutoReinitSpan)
     951        DECLARE_CLS_NEW_DELETE_NOOP(AutoReinitSpan)
    952952
    953953        VirtualBoxBaseProto *mObj;
     
    999999    public:
    10001000
    1001         AutoUninitSpan (VirtualBoxBaseProto *aObj);
     1001        AutoUninitSpan(VirtualBoxBaseProto *aObj);
    10021002        ~AutoUninitSpan();
    10031003
     
    10101010    private:
    10111011
    1012         DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP (AutoUninitSpan)
    1013         DECLARE_CLS_NEW_DELETE_NOOP (AutoUninitSpan)
     1012        DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP(AutoUninitSpan)
     1013        DECLARE_CLS_NEW_DELETE_NOOP(AutoUninitSpan)
    10141014
    10151015        VirtualBoxBaseProto *mObj;
     
    10701070    public:
    10711071
    1072         AutoMayUninitSpan (VirtualBoxBaseProto *aObj);
     1072        AutoMayUninitSpan(VirtualBoxBaseProto *aObj);
    10731073        ~AutoMayUninitSpan();
    10741074
     
    10951095    private:
    10961096
    1097         DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP (AutoMayUninitSpan)
    1098         DECLARE_CLS_NEW_DELETE_NOOP (AutoMayUninitSpan)
     1097        DECLARE_CLS_COPY_CTOR_ASSIGN_NOOP(AutoMayUninitSpan)
     1098        DECLARE_CLS_NEW_DELETE_NOOP(AutoMayUninitSpan)
    10991099
    11001100        VirtualBoxBaseProto *mObj;
     
    11151115private:
    11161116
    1117     void setState (State aState)
    1118     {
    1119         Assert (mState != aState);
     1117    void setState(State aState)
     1118    {
     1119        Assert(mState != aState);
    11201120        mState = aState;
    11211121        mStateChangeThread = RTThreadSelf();
     
    11601160 */
    11611161#define VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(C) \
    1162     virtual HRESULT addCaller (VirtualBoxBaseProto::State *aState = NULL, \
    1163                                bool aLimited = false) \
     1162    virtual HRESULT addCaller(VirtualBoxBaseProto::State *aState = NULL, \
     1163                              bool aLimited = false) \
    11641164    { \
    11651165        VirtualBoxBaseProto::State state; \
    1166         HRESULT rc = VirtualBoxBaseProto::addCaller (&state, aLimited); \
    1167         if (FAILED (rc)) \
     1166        HRESULT rc = VirtualBoxBaseProto::addCaller(&state, aLimited); \
     1167        if (FAILED(rc)) \
    11681168        { \
    11691169            if (state == VirtualBoxBaseProto::Limited) \
    1170                 rc = setError (rc, tr ("The object functionality is limited")); \
     1170                rc = setError(rc, tr("The object functionality is limited")); \
    11711171            else \
    1172                 rc = setError (rc, tr ("The object is not ready")); \
     1172                rc = setError(rc, tr("The object is not ready")); \
    11731173        } \
    11741174        if (aState) \
     
    11811181class ATL_NO_VTABLE VirtualBoxBase
    11821182    : virtual public VirtualBoxBaseProto
    1183     , public CComObjectRootEx <CComMultiThreadModel>
     1183    , public CComObjectRootEx<CComMultiThreadModel>
    11841184{
    11851185
     
    12011201    {}
    12021202
    1203     static const char *translate (const char *context, const char *sourceText,
    1204                                   const char *comment = 0);
     1203    static const char *translate(const char *context, const char *sourceText,
     1204                                 const char *comment = 0);
    12051205};
    12061206
     
    12111211{
    12121212protected:
    1213     static bool cutClassNameFrom__PRETTY_FUNCTION__ (char *aPrettyFunctionName);
     1213    static bool cutClassNameFrom__PRETTY_FUNCTION__(char *aPrettyFunctionName);
    12141214};
    12151215
     
    12361236 *       ambiguity of the #tr() function).
    12371237 */
    1238 template <class C>
     1238template<class C>
    12391239class VirtualBoxSupportTranslation : virtual protected VirtualBoxSupportTranslationBase
    12401240{
     
    12541254     *      specified context.
    12551255     */
    1256     inline static const char *tr (const char *aSourceText,
    1257                                   const char *aComment = NULL)
    1258     {
    1259         return VirtualBoxBase::translate (className(), aSourceText, aComment);
     1256    inline static const char *tr(const char *aSourceText,
     1257                                 const char *aComment = NULL)
     1258    {
     1259        return VirtualBoxBase::translate(className(), aSourceText, aComment);
    12601260    }
    12611261
     
    12641264    static const char *className()
    12651265    {
    1266         static char fn [sizeof (__PRETTY_FUNCTION__) + 1];
     1266        static char fn[sizeof(__PRETTY_FUNCTION__) + 1];
    12671267        if (!sClassName)
    12681268        {
    1269             strcpy (fn, __PRETTY_FUNCTION__);
    1270             cutClassNameFrom__PRETTY_FUNCTION__ (fn);
     1269            strcpy(fn, __PRETTY_FUNCTION__);
     1270            cutClassNameFrom__PRETTY_FUNCTION__(fn);
    12711271            sClassName = fn;
    12721272        }
     
    12791279};
    12801280
    1281 template <class C>
     1281template<class C>
    12821282const char *VirtualBoxSupportTranslation<C>::sClassName = NULL;
    12831283
     
    12921292 */
    12931293#define VIRTUALBOXSUPPORTTRANSLATION_OVERRIDE(C) \
    1294     inline static const char *tr (const char *aSourceText, \
    1295                                   const char *aComment = NULL) \
     1294    inline static const char *tr(const char *aSourceText, \
     1295                                 const char *aComment = NULL) \
    12961296    { \
    1297         return VirtualBoxSupportTranslation<C>::tr (aSourceText, aComment); \
     1297        return VirtualBoxSupportTranslation<C>::tr(aSourceText, aComment); \
    12981298    }
    12991299
     
    13141314class VirtualBoxSupportErrorInfoImplBase
    13151315{
    1316     static HRESULT setErrorInternal (HRESULT aResultCode, const GUID &aIID,
    1317                                      const Bstr &aComponent, const Bstr &aText,
    1318                                      bool aWarning, bool aLogIt);
     1316    static HRESULT setErrorInternal(HRESULT aResultCode, const GUID &aIID,
     1317                                    const Bstr &aComponent, const Bstr &aText,
     1318                                    bool aWarning, bool aLogIt);
    13191319
    13201320protected:
     
    14011401         * @copydoc com::FWResult::FWResult().
    14021402         */
    1403         MultiResult (HRESULT aRC = E_FAIL) : FWResult (aRC) { init(); }
    1404 
    1405         MultiResult (const MultiResult &aThat) : FWResult (aThat)
     1403        MultiResult(HRESULT aRC = E_FAIL) : FWResult(aRC) { init(); }
     1404
     1405        MultiResult(const MultiResult &aThat) : FWResult(aThat)
    14061406        {
    14071407            /* We need this copy constructor only for GCC that wants to have
     
    14151415        ~MultiResult();
    14161416
    1417         MultiResult &operator= (HRESULT aRC)
     1417        MultiResult &operator=(HRESULT aRC)
    14181418        {
    1419             com::FWResult::operator= (aRC);
     1419            com::FWResult::operator=(aRC);
    14201420            return *this;
    14211421        }
    14221422
    1423         MultiResult &operator= (const MultiResult &aThat)
     1423        MultiResult &operator=(const MultiResult &aThat)
    14241424        {
    14251425            /* We need this copy constructor only for GCC that wants to have
     
    14281428             * temporary and call the other constructor directly instead. */
    14291429            AssertFailed();
    1430             com::FWResult::operator= (aThat);
     1430            com::FWResult::operator=(aThat);
    14311431            return *this;
    14321432        }
     
    14341434    private:
    14351435
    1436         DECLARE_CLS_NEW_DELETE_NOOP (MultiResult)
     1436        DECLARE_CLS_NEW_DELETE_NOOP(MultiResult)
    14371437
    14381438        void init();
     
    14431443    };
    14441444
    1445     static HRESULT setError (HRESULT aResultCode, const GUID &aIID,
    1446                              const Bstr &aComponent,
    1447                              const Bstr &aText,
    1448                              bool aLogIt = true)
    1449     {
    1450         return setErrorInternal (aResultCode, aIID, aComponent, aText,
    1451                                  false /* aWarning */, aLogIt);
    1452     }
    1453 
    1454     static HRESULT setWarning (HRESULT aResultCode, const GUID &aIID,
    1455                                const Bstr &aComponent,
    1456                                const Bstr &aText)
    1457     {
    1458         return setErrorInternal (aResultCode, aIID, aComponent, aText,
    1459                                  true /* aWarning */, true /* aLogIt */);
    1460     }
    1461 
    1462     static HRESULT setError (HRESULT aResultCode, const GUID &aIID,
    1463                              const Bstr &aComponent,
    1464                              const char *aText, va_list aArgs, bool aLogIt = true)
    1465     {
    1466         return setErrorInternal (aResultCode, aIID, aComponent,
    1467                                  Utf8StrFmtVA (aText, aArgs),
    1468                                  false /* aWarning */, aLogIt);
    1469     }
    1470 
    1471     static HRESULT setWarning (HRESULT aResultCode, const GUID &aIID,
    1472                                const Bstr &aComponent,
    1473                                const char *aText, va_list aArgs)
    1474     {
    1475         return setErrorInternal (aResultCode, aIID, aComponent,
    1476                                  Utf8StrFmtVA (aText, aArgs),
    1477                                  true /* aWarning */, true /* aLogIt */);
     1445    static HRESULT setError(HRESULT aResultCode, const GUID &aIID,
     1446                            const Bstr &aComponent,
     1447                            const Bstr &aText,
     1448                            bool aLogIt = true)
     1449    {
     1450        return setErrorInternal(aResultCode, aIID, aComponent, aText,
     1451                                false /* aWarning */, aLogIt);
     1452    }
     1453
     1454    static HRESULT setWarning(HRESULT aResultCode, const GUID &aIID,
     1455                              const Bstr &aComponent,
     1456                              const Bstr &aText)
     1457    {
     1458        return setErrorInternal(aResultCode, aIID, aComponent, aText,
     1459                                true /* aWarning */, true /* aLogIt */);
     1460    }
     1461
     1462    static HRESULT setError(HRESULT aResultCode, const GUID &aIID,
     1463                            const Bstr &aComponent,
     1464                            const char *aText, va_list aArgs, bool aLogIt = true)
     1465    {
     1466        return setErrorInternal(aResultCode, aIID, aComponent,
     1467                                Utf8StrFmtVA (aText, aArgs),
     1468                                false /* aWarning */, aLogIt);
     1469    }
     1470
     1471    static HRESULT setWarning(HRESULT aResultCode, const GUID &aIID,
     1472                              const Bstr &aComponent,
     1473                              const char *aText, va_list aArgs)
     1474    {
     1475        return setErrorInternal(aResultCode, aIID, aComponent,
     1476                                Utf8StrFmtVA (aText, aArgs),
     1477                                true /* aWarning */, true /* aLogIt */);
    14781478    }
    14791479};
     
    15031503 */
    15041504/// @todo switch to com::SupportErrorInfo* and remove
    1505 template <class C, class I>
     1505template<class C, class I>
    15061506class ATL_NO_VTABLE VirtualBoxSupportErrorInfoImpl
    15071507    : protected VirtualBoxSupportErrorInfoImplBase
     
    15141514
    15151515#if !defined (VBOX_WITH_XPCOM)
    1516     STDMETHOD(InterfaceSupportsErrorInfo) (REFIID riid)
     1516    STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid)
    15171517    {
    15181518        const _ATL_INTMAP_ENTRY* pEntries = C::_GetEntries();
    1519         Assert (pEntries);
     1519        Assert(pEntries);
    15201520        if (!pEntries)
    15211521            return S_FALSE;
     
    15301530                // skip the com map entries until ISupportErrorInfo is found
    15311531                bISupportErrorInfoFound =
    1532                     InlineIsEqualGUID (*(pEntries->piid), IID_ISupportErrorInfo);
     1532                    InlineIsEqualGUID(*(pEntries->piid), IID_ISupportErrorInfo);
    15331533            }
    15341534            else
    15351535            {
    15361536                // look for the requested interface in the rest of the com map
    1537                 bSupports = InlineIsEqualGUID (*(pEntries->piid), riid);
     1537                bSupports = InlineIsEqualGUID(*(pEntries->piid), riid);
    15381538            }
    15391539            pEntries++;
    15401540        }
    15411541
    1542         Assert (bISupportErrorInfoFound);
     1542        Assert(bISupportErrorInfoFound);
    15431543
    15441544        return bSupports ? S_OK : S_FALSE;
     
    15881588     *      error argument.
    15891589     */
    1590     static HRESULT setError (HRESULT aResultCode, const GUID &aIID,
    1591                              const wchar_t *aComponent,
    1592                              const char *aText, ...)
     1590    static HRESULT setError(HRESULT aResultCode, const GUID &aIID,
     1591                            const wchar_t *aComponent,
     1592                            const char *aText, ...)
    15931593    {
    15941594        va_list args;
    1595         va_start (args, aText);
    1596         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError
    1597             (aResultCode, aIID, aComponent, aText, args, true /* aLogIt */);
    1598         va_end (args);
     1595        va_start(args, aText);
     1596        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError(
     1597            aResultCode, aIID, aComponent, aText, args, true /* aLogIt */);
     1598        va_end(args);
    15991599        return rc;
    16001600    }
     
    16091609     *  behavior may be non-standard on some COM platforms.
    16101610     */
    1611     static HRESULT setWarning (HRESULT aResultCode, const GUID &aIID,
    1612                                const wchar_t *aComponent,
    1613                                const char *aText, ...)
     1611    static HRESULT setWarning(HRESULT aResultCode, const GUID &aIID,
     1612                              const wchar_t *aComponent,
     1613                              const char *aText, ...)
    16141614    {
    16151615        va_list args;
    1616         va_start (args, aText);
    1617         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning
    1618             (aResultCode, aIID, aComponent, aText, args);
    1619         va_end (args);
     1616        va_start(args, aText);
     1617        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning(
     1618            aResultCode, aIID, aComponent, aText, args);
     1619        va_end(args);
    16201620        return rc;
    16211621    }
     
    16441644     *  </code>
    16451645     */
    1646     static HRESULT setError (HRESULT aResultCode, const char *aText, ...)
     1646    static HRESULT setError(HRESULT aResultCode, const char *aText, ...)
    16471647    {
    16481648        va_list args;
    1649         va_start (args, aText);
    1650         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError
    1651             (aResultCode, COM_IIDOF(I), C::getComponentName(), aText, args, true /* aLogIt */);
    1652         va_end (args);
     1649        va_start(args, aText);
     1650        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError(
     1651            aResultCode, COM_IIDOF(I), C::getComponentName(), aText, args, true /* aLogIt */);
     1652        va_end(args);
    16531653        return rc;
    16541654    }
     
    16631663     *  behavior may be non-standard on some COM platforms.
    16641664     */
    1665     static HRESULT setWarning (HRESULT aResultCode, const char *aText, ...)
     1665    static HRESULT setWarning(HRESULT aResultCode, const char *aText, ...)
    16661666    {
    16671667        va_list args;
    1668         va_start (args, aText);
    1669         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning
    1670             (aResultCode, COM_IIDOF(I), C::getComponentName(), aText, args);
    1671         va_end (args);
     1668        va_start(args, aText);
     1669        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning(
     1670            aResultCode, COM_IIDOF(I), C::getComponentName(), aText, args);
     1671        va_end(args);
    16721672        return rc;
    16731673    }
     
    16821682     *  and #setError (HRESULT, const char *, ...)  for details.
    16831683     */
    1684     static HRESULT setErrorV (HRESULT aResultCode, const char *aText,
    1685                               va_list aArgs)
    1686     {
    1687         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError
    1688             (aResultCode, COM_IIDOF(I), C::getComponentName(), aText, aArgs, true /* aLogIt */);
     1684    static HRESULT setErrorV(HRESULT aResultCode, const char *aText,
     1685                             va_list aArgs)
     1686    {
     1687        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError(
     1688            aResultCode, COM_IIDOF(I), C::getComponentName(), aText, aArgs, true /* aLogIt */);
    16891689        return rc;
    16901690    }
     
    16991699     *  behavior may be non-standard on some COM platforms.
    17001700     */
    1701     static HRESULT setWarningV (HRESULT aResultCode, const char *aText,
    1702                                 va_list aArgs)
    1703     {
    1704         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning
    1705             (aResultCode, COM_IIDOF(I), C::getComponentName(), aText, aArgs);
     1701    static HRESULT setWarningV(HRESULT aResultCode, const char *aText,
     1702                               va_list aArgs)
     1703    {
     1704        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning(
     1705            aResultCode, COM_IIDOF(I), C::getComponentName(), aText, aArgs);
    17061706        return rc;
    17071707    }
     
    17191719     *  and #setError (HRESULT, const char *, ...)  for details.
    17201720     */
    1721     static HRESULT setErrorBstr (HRESULT aResultCode, const Bstr &aText)
    1722     {
    1723         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError
    1724             (aResultCode, COM_IIDOF(I), C::getComponentName(), aText, true /* aLogIt */);
     1721    static HRESULT setErrorBstr(HRESULT aResultCode, const Bstr &aText)
     1722    {
     1723        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError(
     1724            aResultCode, COM_IIDOF(I), C::getComponentName(), aText, true /* aLogIt */);
    17251725        return rc;
    17261726    }
     
    17351735     *  behavior may be non-standard on some COM platforms.
    17361736     */
    1737     static HRESULT setWarningBstr (HRESULT aResultCode, const Bstr &aText)
    1738     {
    1739         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning
    1740             (aResultCode, COM_IIDOF(I), C::getComponentName(), aText);
     1737    static HRESULT setWarningBstr(HRESULT aResultCode, const Bstr &aText)
     1738    {
     1739        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning(
     1740            aResultCode, COM_IIDOF(I), C::getComponentName(), aText);
    17411741        return rc;
    17421742    }
     
    17511751     *  for details.
    17521752     */
    1753     static HRESULT setError (HRESULT aResultCode, const GUID &aIID,
    1754                              const char *aText, ...)
     1753    static HRESULT setError(HRESULT aResultCode, const GUID &aIID,
     1754                            const char *aText, ...)
    17551755    {
    17561756        va_list args;
    1757         va_start (args, aText);
    1758         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError
    1759             (aResultCode, aIID, C::getComponentName(), aText, args, true /* aLogIt */);
    1760         va_end (args);
     1757        va_start(args, aText);
     1758        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError(
     1759            aResultCode, aIID, C::getComponentName(), aText, args, true /* aLogIt */);
     1760        va_end(args);
    17611761        return rc;
    17621762    }
     
    17711771     *  behavior may be non-standard on some COM platforms.
    17721772     */
    1773     static HRESULT setWarning (HRESULT aResultCode, const GUID &aIID,
    1774                                const char *aText, ...)
     1773    static HRESULT setWarning(HRESULT aResultCode, const GUID &aIID,
     1774                              const char *aText, ...)
    17751775    {
    17761776        va_list args;
    1777         va_start (args, aText);
    1778         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning
    1779             (aResultCode, aIID, C::getComponentName(), aText, args);
    1780         va_end (args);
     1777        va_start(args, aText);
     1778        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setWarning(
     1779            aResultCode, aIID, C::getComponentName(), aText, args);
     1780        va_end(args);
    17811781        return rc;
    17821782    }
     
    17891789     *  It is otherwise identical to #setError (HRESULT, const char *text, ...).
    17901790     */
    1791     static HRESULT setErrorNoLog (HRESULT aResultCode, const char *aText, ...)
     1791    static HRESULT setErrorNoLog(HRESULT aResultCode, const char *aText, ...)
    17921792    {
    17931793        va_list args;
    1794         va_start (args, aText);
    1795         HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError
    1796             (aResultCode, COM_IIDOF(I), C::getComponentName(), aText, args, false /* aLogIt */);
    1797         va_end (args);
     1794        va_start(args, aText);
     1795        HRESULT rc = VirtualBoxSupportErrorInfoImplBase::setError(
     1796            aResultCode, COM_IIDOF(I), C::getComponentName(), aText, args, false /* aLogIt */);
     1797        va_end(args);
    17981798        return rc;
    17991799    }
     
    19011901     * @note Locks #childrenLock() for writing.
    19021902     */
    1903     template <class C>
    1904     void addDependentChild (C *aChild)
    1905     {
    1906         AssertReturnVoid (aChild != NULL);
    1907         doAddDependentChild (ComPtr<IUnknown> (aChild), aChild);
     1903    template<class C>
     1904    void addDependentChild(C *aChild)
     1905    {
     1906        AssertReturnVoid(aChild != NULL);
     1907        doAddDependentChild(ComPtr<IUnknown>(aChild), aChild);
    19081908    }
    19091909
     
    19121912     * but takes a ComObjPtr<C> argument.
    19131913     */
    1914     template <class C>
    1915     void addDependentChild (const ComObjPtr<C> &aChild)
    1916     {
    1917         AssertReturnVoid (!aChild.isNull());
    1918         doAddDependentChild (ComPtr<IUnknown> (static_cast <C *> (aChild)), aChild);
     1914    template<class C>
     1915    void addDependentChild(const ComObjPtr<C> &aChild)
     1916    {
     1917        AssertReturnVoid(!aChild.isNull());
     1918        doAddDependentChild(ComPtr<IUnknown>(static_cast<C *>(aChild)), aChild);
    19191919    }
    19201920
     
    19461946     * @note Locks #childrenLock() for writing.
    19471947     */
    1948     template <class C>
    1949     void removeDependentChild (C *aChild)
    1950     {
    1951         AssertReturnVoid (aChild != NULL);
    1952         doRemoveDependentChild (ComPtr<IUnknown> (aChild));
     1948    template<class C>
     1949    void removeDependentChild(C *aChild)
     1950    {
     1951        AssertReturnVoid(aChild != NULL);
     1952        doRemoveDependentChild(ComPtr<IUnknown>(aChild));
    19531953    }
    19541954
     
    19571957     * but takes a ComObjPtr<C> argument.
    19581958     */
    1959     template <class C>
    1960     void removeDependentChild (const ComObjPtr<C> &aChild)
    1961     {
    1962         AssertReturnVoid (!aChild.isNull());
    1963         doRemoveDependentChild (ComPtr<IUnknown> (static_cast <C *> (aChild)));
     1959    template<class C>
     1960    void removeDependentChild(const ComObjPtr<C> &aChild)
     1961    {
     1962        AssertReturnVoid(!aChild.isNull());
     1963        doRemoveDependentChild(ComPtr<IUnknown>(static_cast<C *>(aChild)));
    19641964    }
    19651965
     
    19721972private:
    19731973    void doAddDependentChild(IUnknown *aUnk, VirtualBoxBase *aChild);
    1974     void doRemoveDependentChild (IUnknown *aUnk);
     1974    void doRemoveDependentChild(IUnknown *aUnk);
    19751975
    19761976    typedef std::map<IUnknown*, VirtualBoxBase*> DependentChildren;
     
    20072007 *       has gone.
    20082008 */
    2009 template <class C>
     2009template<class C>
    20102010class VirtualBoxBaseWithTypedChildren : public VirtualBoxBase
    20112011{
    20122012public:
    20132013
    2014     typedef std::list <ComObjPtr<C> > DependentChildren;
     2014    typedef std::list<ComObjPtr<C> > DependentChildren;
    20152015
    20162016    VirtualBoxBaseWithTypedChildren()
     
    20502050     * @note Locks #childrenLock() for writing.
    20512051     */
    2052     void addDependentChild (C *aChild)
    2053     {
    2054         AssertReturnVoid (aChild != NULL);
    2055 
    2056         AutoCaller autoCaller (this);
     2052    void addDependentChild(C *aChild)
     2053    {
     2054        AssertReturnVoid(aChild != NULL);
     2055
     2056        AutoCaller autoCaller(this);
    20572057
    20582058        /* sanity */
    2059         AssertReturnVoid (autoCaller.state() == InInit ||
    2060                           autoCaller.state() == Ready ||
    2061                           autoCaller.state() == Limited);
    2062 
    2063         AutoWriteLock chLock (childrenLock());
    2064         mDependentChildren.push_back (aChild);
     2059        AssertReturnVoid(autoCaller.state() == InInit ||
     2060                         autoCaller.state() == Ready ||
     2061                         autoCaller.state() == Limited);
     2062
     2063        AutoWriteLock chLock(childrenLock());
     2064        mDependentChildren.push_back(aChild);
    20652065    }
    20662066
     
    20902090     * @note Locks #childrenLock() for writing.
    20912091     */
    2092     void removeDependentChild (C *aChild)
    2093     {
    2094         AssertReturnVoid (aChild);
    2095 
    2096         AutoCaller autoCaller (this);
     2092    void removeDependentChild(C *aChild)
     2093    {
     2094        AssertReturnVoid(aChild);
     2095
     2096        AutoCaller autoCaller(this);
    20972097
    20982098        /* sanity */
    2099         AssertReturnVoid (autoCaller.state() == InUninit ||
    2100                           autoCaller.state() == InInit ||
    2101                           autoCaller.state() == Ready ||
    2102                           autoCaller.state() == Limited);
     2099        AssertReturnVoid(autoCaller.state() == InUninit ||
     2100                         autoCaller.state() == InInit ||
     2101                         autoCaller.state() == Ready ||
     2102                         autoCaller.state() == Limited);
    21032103
    21042104        /* return shortly; we are strongly referenced so the object won't get
     
    21092109            return;
    21102110
    2111         AutoWriteLock chLock (childrenLock());
    2112         mDependentChildren.remove (aChild);
     2111        AutoWriteLock chLock(childrenLock());
     2112        mDependentChildren.remove(aChild);
    21132113    }
    21142114
     
    21412141    void uninitDependentChildren()
    21422142    {
    2143         AutoCaller autoCaller (this);
     2143        AutoCaller autoCaller(this);
    21442144
    21452145        /* We don't want to hold the childrenLock() write lock here (necessary
     
    21602160         * since no any object may access us by that time.
    21612161         */
    2162         AssertReturnVoid (autoCaller.state() == InUninit ||
    2163                           autoCaller.state() == InInit);
     2162        AssertReturnVoid(autoCaller.state() == InUninit ||
     2163                         autoCaller.state() == InInit);
    21642164
    21652165        if (mDependentChildren.size())
     
    21692169            {
    21702170                C *child = (*it);
    2171                 Assert (child);
     2171                Assert(child);
    21722172
    21732173                /* Note that if child->uninit() happens to be called on another
     
    21962196    void removeDependentChildren()
    21972197    {
    2198         AutoWriteLock chLock (childrenLock());
     2198        AutoWriteLock chLock(childrenLock());
    21992199        mDependentChildren.clear();
    22002200    }
     
    22192219public:
    22202220
    2221     Shareable() : mData (NULL), mIsShared (FALSE) {}
     2221    Shareable() : mData (NULL), mIsShared(FALSE) {}
    22222222    ~Shareable() { free(); }
    22232223
    2224     void allocate() { attach (new D); }
     2224    void allocate() { attach(new D); }
    22252225
    22262226    virtual void free() {
     
    22332233    }
    22342234
    2235     void attach (D *data) {
    2236         AssertMsg (data, ("new data must not be NULL"));
     2235    void attach(D *data) {
     2236        AssertMsg(data, ("new data must not be NULL"));
    22372237        if (data && mData != data) {
    22382238            if (mData && !mIsShared)
     
    22432243    }
    22442244
    2245     void attach (Shareable &data) {
    2246         AssertMsg (
     2245    void attach(Shareable &data) {
     2246        AssertMsg(
    22472247            data.mData == mData || !data.mIsShared,
    22482248            ("new data must not be shared")
     
    22542254    }
    22552255
    2256     void share (D *data) {
    2257         AssertMsg (data, ("new data must not be NULL"));
     2256    void share(D *data) {
     2257        AssertMsg(data, ("new data must not be NULL"));
    22582258        if (mData != data) {
    22592259            if (mData && !mIsShared)
     
    22642264    }
    22652265
    2266     void share (const Shareable &data) { share (data.mData); }
    2267 
    2268     void attachCopy (const D *data) {
    2269         AssertMsg (data, ("data to copy must not be NULL"));
     2266    void share(const Shareable &data) { share (data.mData); }
     2267
     2268    void attachCopy(const D *data) {
     2269        AssertMsg(data, ("data to copy must not be NULL"));
    22702270        if (data)
    2271             attach (new D (*data));
    2272     }
    2273 
    2274     void attachCopy (const Shareable &data) {
    2275         attachCopy (data.mData);
     2271            attach(new D (*data));
     2272    }
     2273
     2274    void attachCopy(const Shareable &data) {
     2275        attachCopy(data.mData);
    22762276    }
    22772277
     
    22882288
    22892289    D *operator->() const {
    2290         AssertMsg (mData, ("data must not be NULL"));
     2290        AssertMsg(mData, ("data must not be NULL"));
    22912291        return mData;
    22922292    }
     
    23092309 *  structure).
    23102310 */
    2311 template <class D>
    2312 class Backupable : public Shareable <D>
     2311template<class D>
     2312class Backupable : public Shareable<D>
    23132313{
    23142314public:
    23152315
    2316     Backupable() : Shareable <D> (), mBackupData (NULL) {}
     2316    Backupable() : Shareable<D> (), mBackupData(NULL) {}
    23172317
    23182318    void free()
    23192319    {
    2320         AssertMsg (this->mData || !mBackupData, ("backup must be NULL if data is NULL"));
     2320        AssertMsg(this->mData || !mBackupData, ("backup must be NULL if data is NULL"));
    23212321        rollback();
    2322         Shareable <D>::free();
     2322        Shareable<D>::free();
    23232323    }
    23242324
    23252325    D *detach()
    23262326    {
    2327         AssertMsg (this->mData || !mBackupData, ("backup must be NULL if data is NULL"));
     2327        AssertMsg(this->mData || !mBackupData, ("backup must be NULL if data is NULL"));
    23282328        rollback();
    2329         return Shareable <D>::detach();
    2330     }
    2331 
    2332     void share (const Backupable &data)
    2333     {
    2334         AssertMsg (!data.isBackedUp(), ("data to share must not be backed up"));
     2329        return Shareable<D>::detach();
     2330    }
     2331
     2332    void share(const Backupable &data)
     2333    {
     2334        AssertMsg(!data.isBackedUp(), ("data to share must not be backed up"));
    23352335        if (!data.isBackedUp())
    2336             Shareable <D>::share (data.mData);
     2336            Shareable<D>::share(data.mData);
    23372337    }
    23382338
     
    23432343    void backup()
    23442344    {
    2345         AssertMsg (this->mData, ("data must not be NULL"));
     2345        AssertMsg(this->mData, ("data must not be NULL"));
    23462346        if (this->mData && !mBackupData)
    23472347        {
    23482348            mBackupData = this->mData;
    2349             this->mData = new D (*mBackupData);
     2349            this->mData = new D(*mBackupData);
    23502350        }
    23512351    }
     
    24092409    }
    24102410
    2411     void assignCopy (const D *data)
    2412     {
    2413         AssertMsg (this->mData, ("data must not be NULL"));
    2414         AssertMsg (data, ("data to copy must not be NULL"));
     2411    void assignCopy(const D *data)
     2412    {
     2413        AssertMsg(this->mData, ("data must not be NULL"));
     2414        AssertMsg(data, ("data to copy must not be NULL"));
    24152415        if (this->mData && data)
    24162416        {
     
    24252425    }
    24262426
    2427     void assignCopy (const Backupable &data)
    2428     {
    2429         assignCopy (data.mData);
     2427    void assignCopy(const Backupable &data)
     2428    {
     2429        assignCopy(data.mData);
    24302430    }
    24312431
     
    24372437    bool hasActualChanges() const
    24382438    {
    2439         AssertMsg (this->mData, ("data must not be NULL"));
     2439        AssertMsg(this->mData, ("data must not be NULL"));
    24402440        return this->mData != NULL && mBackupData != NULL &&
    24412441               !(*this->mData == *mBackupData);
     
    24522452};
    24532453
    2454 #endif // ____H_VIRTUALBOXBASEIMPL
    2455 
     2454#endif // !____H_VIRTUALBOXBASEIMPL
     2455
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