VirtualBox

Changeset 106901 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Nov 8, 2024 11:39:18 PM (3 months ago)
Author:
vboxsync
Message:

Main/ObjectsTracker.h/cpp: Another build fix attempt - the extpack solaris VM doesn't know the C++11 for loop style. It also has trouble with implict c_str conversion or something like that, so switching to com::Utf8Str. jiraref:VBP-1187

Location:
trunk/src/VBox/Main
Files:
2 edited

Legend:

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

    r106900 r106901  
    155155 *       com::Guid which would have much more efficient storage compared
    156156 *       to both the string variants... */
    157 #if 1
     157#if 0 /* The solaris VM seems to have trouble with this or something related to it. */
    158158typedef std::string ObjIdString_T;
    159159#else
  • trunk/src/VBox/Main/src-all/ObjectsTracker.cpp

    r106900 r106901  
    3636#include <iprt/asm.h>
    3737
    38 typedef std::map<ObjIdString_T, TrackedObjectData>::const_iterator cIterTrObjDataType;
     38typedef std::map<ObjIdString_T, TrackedObjectData>::const_iterator ConstIterTrObjDataType;
    3939typedef std::map<ObjIdString_T, TrackedObjectData>::iterator iterTrObjDataType;
    4040
     
    122122com::Utf8Str TrackedObjectData::updateLastAccessTime()
    123123{
    124     RTTimeNow(unconst(&m_lastAccessTime));
    125 
    126     char szTime[42];
     124    RTTimeNow(&m_lastAccessTime);
     125
     126    char szTime[RTTIME_STR_LEN];
    127127    RTTimeSpecToString(&m_lastAccessTime, szTime, sizeof(szTime));
    128128    return com::Utf8Str(szTime);
    129129}
    130130
     131/** @todo r=bird: why on earth does this return a string? */
    131132com::Utf8Str TrackedObjectData::initIdleTime()
    132133{
     
    137138    }
    138139
    139     char szTime[42];
     140    char szTime[RTTIME_STR_LEN];
    140141    RTTimeSpecToString(&m_idleTimeStart, szTime, sizeof(szTime));
    141142    return com::Utf8Str(szTime);
     
    144145com::Utf8Str TrackedObjectData::creationTimeStr() const
    145146{
    146     char szCreationTime[42];
     147    char szCreationTime[RTTIME_STR_LEN];
    147148    RTTimeSpecToString(&m_creationTime, szCreationTime, sizeof(szCreationTime));
    148149
     
    290291        --m_Added;
    291292    }
    292     else
    293     {
    294         char szCreationTime[42];
     293    else if (LogIs2Enabled())
     294    {
     295        char szCreationTime[RTTIME_STR_LEN];
    295296        RTTIMESPEC time;
    296297        RTTimeSpecToString(RTTimeNow(&time), szCreationTime, sizeof(szCreationTime));
     
    364365}
    365366
    366 const TrackedObjectData& TrackedObjectsCollector::i_getObj (const com::Utf8Str& aObjId) const
     367const TrackedObjectData &TrackedObjectsCollector::i_getObj(const com::Utf8Str &aObjId) const
    367368{
    368369    /* No check for existence of aObjId */
    369     return m_trackedObjectsData.at(aObjId.c_str());
    370 }
    371 
    372 HRESULT TrackedObjectsCollector::initObjIdleTime (const com::Utf8Str& aObjId)
     370    return m_trackedObjectsData.at(aObjId);
     371}
     372
     373HRESULT TrackedObjectsCollector::initObjIdleTime(const com::Utf8Str &aObjId)
    373374{
    374375    LogFlowFuncEnter();
     
    419420    RTCritSectEnter(&m_CritSectData);
    420421
    421     cIterTrObjDataType pIter = m_trackedObjectsData.find(sTemp);
     422    ConstIterTrObjDataType pIter = m_trackedObjectsData.find(sTemp);
    422423    if (pIter != m_trackedObjectsData.end())
    423424    {
     
    462463}
    463464
    464 int TrackedObjectsCollector::i_getAllObjIds (std::vector<com::Utf8Str>& aObjIdMap) const
    465 {
    466     for (const com::Utf8Str& item : m_trackedObjectIds)
    467     {
    468         if (!m_trackedInvalidObjectIds.count(item))
    469             aObjIdMap.push_back(item);
     465int TrackedObjectsCollector::i_getAllObjIds(std::vector<com::Utf8Str> &aObjIdMap) const
     466{
     467    //for (const com::Utf8Str &item : m_trackedObjectIds) - the gcc in the solaris VM doesn't grok this.
     468    for (std::set<com::Utf8Str>::const_iterator Iter = m_trackedObjectIds.cbegin();
     469         Iter != m_trackedObjectIds.cend();
     470         ++Iter)
     471    {
     472        if (!m_trackedInvalidObjectIds.count(*Iter))
     473            aObjIdMap.push_back(*Iter);
    470474    }
    471475
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