VirtualBox

Ignore:
Timestamp:
Dec 6, 2024 10:46:24 AM (2 months ago)
Author:
vboxsync
Message:

bugref:10806. New TrackedObjectState enum usage. Added member m_deletionTime. Added the functions updateState, deletionTime. Added getters idleTime, lifeTime, deletionTime, creationTime. Fixed the function resetState and getter state.

File:
1 edited

Legend:

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

    r106907 r107240  
    7676{
    7777public:
    78     enum State { Invalid, Valid };
    79 
    8078    TrackedObjectData();
    8179
     
    117115    }
    118116
    119     inline State state() const
    120     {
    121         return m_State;
    122     }
    123 
    124     inline State resetState()
    125     {
    126         return m_State = Invalid;
     117    inline TrackedObjectState_T state() const
     118    {
     119        return m_state;
     120    }
     121
     122    inline TrackedObjectState_T resetState()
     123    {
     124        return m_state = TrackedObjectState_Invalid;
     125    }
     126
     127    inline RTTIMESPEC creationTime() const
     128    {
     129        return m_creationTime;
     130    }
     131
     132    inline RTTIMESPEC deletionTime() const
     133    {
     134        return m_deletionTime;
     135    }
     136
     137    inline uint64_t lifeTime() const
     138    {
     139        return m_lifeTime;
     140    }
     141
     142    inline uint64_t idleTime() const
     143    {
     144        return m_idleTime;
    127145    }
    128146
     
    130148    com::Utf8Str initIdleTime();
    131149    com::Utf8Str creationTimeStr() const;
     150    TrackedObjectState_T deletionTime(PRTTIMESPEC aTime) const;
     151    TrackedObjectState_T updateState(TrackedObjectState_T aNewState);
    132152
    133153private:
     
    137157    RTTIMESPEC m_creationTime;//creation time
    138158    RTTIMESPEC m_idleTimeStart;//idle time beginning (ref counter is 1)
     159    RTTIMESPEC m_deletionTime;//deletion time (m_creationTime + m_lifeTime + m_idleTime)
    139160    RTTIMESPEC m_lastAccessTime;//last access time
    140161    uint64_t m_lifeTime;//lifetime after creation in seconds, 0 - live till the VBoxSVC lives
    141162    uint64_t m_idleTime;//lifetime after out of usage in seconds, 0 - keep forever
    142163    bool m_fIdleTimeStart;//when ref counter of m_pIface is 1 or m_lifeTime exceeded
    143     State m_State;//state may have only 2 variants Valid or Invalid. State has only one transition from Valid to Invalid
     164    TrackedObjectState_T m_state;
    144165    ComPtr<IUnknown> m_pIface;//keeps a reference to a tracked object
    145166
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