VirtualBox

Changeset 16966 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Feb 20, 2009 9:14:28 AM (16 years ago)
Author:
vboxsync
Message:

#3551: “Main: Replace remaining collections with safe arrays”
Converted SharedFolderCollection. Approved by dmik. Tested with GUI.

Location:
trunk/src/VBox/Frontends
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp

    r16867 r16966  
    14381438    /* now VM mappings */
    14391439    {
    1440         ComPtr<ISharedFolderCollection> sfColl;
    1441         ComPtr<ISharedFolderEnumerator> sfEnum;
    1442         CHECK_ERROR_RET(machine, COMGETTER(SharedFolders)(sfColl.asOutParam()), rc);
    1443         CHECK_ERROR_RET(sfColl, Enumerate(sfEnum.asOutParam()), rc);
     1440        com::SafeIfaceArray <ISharedFolder> folders;
     1441
     1442        CHECK_ERROR_RET(machine, COMGETTER(SharedFolders)(ComSafeArrayAsOutParam(folders)), rc);
    14441443        ULONG index = 0;
    1445         BOOL fMore;
    1446         sfEnum->HasMore(&fMore);
    1447         while (fMore)
    1448         {
    1449             ComPtr<ISharedFolder> sf;
    1450             CHECK_ERROR_RET(sfEnum, GetNext(sf.asOutParam()), rc);
     1444
     1445        for (size_t i = 0; i < folders.size(); ++i)
     1446        {
     1447            ComPtr <ISharedFolder> sf = folders[i];
     1448
    14511449            Bstr name, hostPath;
    14521450            BOOL writable;
     
    14671465                         name.raw(), hostPath.raw(), writable ? "writable" : "readonly");
    14681466            ++numSharedFolders;
    1469             CHECK_ERROR_RET(sfEnum, HasMore(&fMore), rc);
    14701467        }
    14711468    }
     
    14731470    if (console)
    14741471    {
    1475         ComPtr<ISharedFolderCollection> sfColl;
    1476         ComPtr<ISharedFolderEnumerator> sfEnum;
    1477         CHECK_ERROR_RET(console, COMGETTER(SharedFolders)(sfColl.asOutParam()), rc);
    1478         CHECK_ERROR_RET(sfColl, Enumerate(sfEnum.asOutParam()), rc);
     1472        com::SafeIfaceArray <ISharedFolder> folders;
     1473
     1474        CHECK_ERROR_RET(console, COMGETTER(SharedFolders)(ComSafeArrayAsOutParam(folders)), rc);
    14791475        ULONG index = 0;
    1480         BOOL fMore;
    1481         sfEnum->HasMore(&fMore);
    1482         while (fMore)
    1483         {
    1484             ComPtr<ISharedFolder> sf;
    1485             CHECK_ERROR_RET(sfEnum, GetNext(sf.asOutParam()), rc);
     1476
     1477        for (size_t i = 0; i < folders.size(); ++i)
     1478        {
     1479            ComPtr <ISharedFolder> sf = folders[i];
     1480
    14861481            Bstr name, hostPath;
    14871482            sf->COMGETTER(Name)(name.asOutParam());
     
    14991494                RTPrintf("Name: '%lS', Host path: '%lS' (transient mapping)\n", name.raw(), hostPath.raw());
    15001495            ++numSharedFolders;
    1501             CHECK_ERROR_RET(sfEnum, HasMore(&fMore), rc);
    15021496        }
    15031497    }
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxVMSettingsSF.h

    r10742 r16966  
    9191                             SFDialogType aType);
    9292
    93     void getFrom (const CSharedFolderEnumerator &aEn, SFTreeViewItem *aItem);
    94     void putBackTo (CSharedFolderEnumerator &aEn, SFTreeViewItem *aItem);
     93    void getFrom (const CSharedFolderVector &aVec, SFTreeViewItem *aItem);
     94    void putBackTo     (CSharedFolderVector &aVec, SFTreeViewItem *aItem);
    9595
    9696    SFTreeViewItem* searchRoot (bool aIsPermanent,
     
    112112
    113113#endif // __VBoxVMSettingsSF_h__
    114 
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxConsoleWnd.cpp

    r16942 r16966  
    745745
    746746#ifdef Q_WS_MAC
    747     /* We have to make sure that we are get the front most process. This is
     747    /* We have to make sure that we are getting the front most process. This is
    748748     * necessary for Qt versions > 4.3.3 */
    749749    ProcessSerialNumber psn = { 0, kCurrentProcess };
     
    911911
    912912    /* initialize shared folders stuff */
    913     CSharedFolderCollection sfcoll = cconsole.GetSharedFolders();
    914     if (sfcoll.isNull())
     913    CSharedFolderVector sfvec = cconsole.GetSharedFolders();
     914    if (sfvec.size() == 0)
    915915    {
    916916        /* hide shared folders menu action & sf_separator & sf_status_icon */
     
    20472047
    20482048        /* permanent folders */
    2049         CSharedFolderEnumerator en = cmachine.GetSharedFolders().Enumerate();
    2050         while (en.HasMore())
    2051         {
    2052             CSharedFolder sf = en.GetNext();
     2049        CSharedFolderVector psfvec = cmachine.GetSharedFolders();
     2050
     2051        for (int i = 0; i < psfvec.size(); ++i)
     2052        {
     2053            CSharedFolder sf = psfvec[i];
    20532054            sfs.insert (sf.GetName(), sf.GetHostPath());
    20542055        }
     2056
    20552057        /* transient folders */
    2056         en = cconsole.GetSharedFolders().Enumerate();
    2057         while (en.HasMore())
    2058         {
    2059             CSharedFolder sf = en.GetNext();
     2058        CSharedFolderVector tsfvec = cconsole.GetSharedFolders();
     2059
     2060        for (int i = 0; i < tsfvec.size(); ++i)
     2061        {
     2062            CSharedFolder sf = tsfvec[i];
    20602063            sfs.insert (sf.GetName(), sf.GetHostPath());
    20612064        }
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxGlobal.cpp

    r16873 r16966  
    25432543        /* Shared folders */
    25442544        {
    2545             ulong count = aMachine.GetSharedFolders().GetCount();
     2545            ulong count = aMachine.GetSharedFolders().size();
    25462546            if (count > 0)
    25472547            {
  • trunk/src/VBox/Frontends/VirtualBox/src/VBoxVMSettingsSF.cpp

    r11776 r16966  
    272272    //SFTreeViewItem *root = searchRoot (true, GlobalType);
    273273    //root->setHidden (false);
    274     //getFrom (vboxGlobal().virtualBox().GetSharedFolders().Enumerate(), root);
     274    //getFrom (vboxGlobal().virtualBox().GetSharedFolders(), root);
    275275}
    276276
     
    280280    SFTreeViewItem *root = searchRoot (true, MachineType);
    281281    root->setHidden (false);
    282     getFrom (mMachine.GetSharedFolders().Enumerate(), root);
     282    getFrom (mMachine.GetSharedFolders(), root);
    283283}
    284284
     
    288288    SFTreeViewItem *root = searchRoot (true, ConsoleType);
    289289    root->setHidden (false);
    290     getFrom (mConsole.GetSharedFolders().Enumerate(), root);
     290    getFrom (mConsole.GetSharedFolders(), root);
    291291}
    292292
     
    303303    //SFTreeViewItem *root = searchRoot (true, GlobalType);
    304304    //Assert (root);
    305     //CSharedFolderEnumerator en =
    306     //    vboxGlobal().virtualBox().GetSharedFolders().Enumerate();
    307     //putBackTo (en, root);
     305    //CSharedFolderVector vec =
     306    //    vboxGlobal().virtualBox().GetSharedFolders();
     307    //putBackTo (vec, root);
    308308}
    309309
     
    318318    SFTreeViewItem *root = searchRoot (true,  MachineType);
    319319    Assert (root);
    320     CSharedFolderEnumerator en = mMachine.GetSharedFolders().Enumerate();
    321     putBackTo (en, root);
     320    CSharedFolderVector sfvec = mMachine.GetSharedFolders();
     321    putBackTo (sfvec, root);
    322322}
    323323
     
    332332    SFTreeViewItem *root = searchRoot (true, ConsoleType);
    333333    Assert (root);
    334     CSharedFolderEnumerator en = mConsole.GetSharedFolders().Enumerate();
    335     putBackTo (en, root);
     334    CSharedFolderVector sfvec = mConsole.GetSharedFolders();
     335    putBackTo (sfvec, root);
    336336}
    337337
     
    622622
    623623
    624 void VBoxVMSettingsSF::getFrom (const CSharedFolderEnumerator &aEn,
     624void VBoxVMSettingsSF::getFrom (const CSharedFolderVector &aVec,
    625625                                SFTreeViewItem *aRoot)
    626626{
    627     while (aEn.HasMore())
    628     {
    629         CSharedFolder sf = aEn.GetNext();
     627    for (int i = 0; i < aVec.size(); ++i)
     628    {
     629        CSharedFolder sf = aVec[i];
    630630        QStringList fields;
    631631        fields << sf.GetName() /* name */
     
    641641}
    642642
    643 void VBoxVMSettingsSF::putBackTo (CSharedFolderEnumerator &aEn,
     643void VBoxVMSettingsSF::putBackTo (CSharedFolderVector &aVec,
    644644                                  SFTreeViewItem *aRoot)
    645645{
     
    648648
    649649    /* delete all changed folders from vm */
    650     while (aEn.HasMore())
    651     {
    652         CSharedFolder sf = aEn.GetNext();
     650    for (int idx = 0; idx < aVec.size(); ++idx)
     651    {
     652        CSharedFolder sf = aVec[idx];
    653653
    654654        /* Iterate through this root's children */
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