VirtualBox

Ignore:
Timestamp:
Jul 29, 2011 10:07:03 AM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
73214
Message:

GuestCtrl: Update.

File:
1 edited

Legend:

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

    r38085 r38235  
    174174    GETOPTDEF_COPYTO_TARGETDIR,
    175175    GETOPTDEF_COPYTO_USERNAME
     176};
     177
     178enum GETOPTDEF_MKDIR
     179{
     180    GETOPTDEF_MKDIR_PASSWORD = 1000,
     181    GETOPTDEF_MKDIR_USERNAME
     182};
     183
     184enum GETOPTDEF_STAT
     185{
     186    GETOPTDEF_STAT_PASSWORD = 1000,
     187    GETOPTDEF_STAT_USERNAME
    176188};
    177189
     
    347359        return VERR_GENERAL_FAILURE; /** @todo */
    348360    }
    349     AssertMsgFailedReturn(("Object has indicated no error!?\n"),
     361    AssertMsgFailedReturn(("Object has indicated no error (%Rrc)!?\n", errorInfo.getResultCode()),
    350362                          VERR_INVALID_PARAMETER);
    351363}
     
    16091621    static const RTGETOPTDEF s_aOptions[] =
    16101622    {
    1611         { "--mode",                'm',         RTGETOPT_REQ_UINT32  },
    1612         { "--parents",             'P',         RTGETOPT_REQ_NOTHING },
    1613         { "--password",            'p',         RTGETOPT_REQ_STRING  },
    1614         { "--username",            'u',         RTGETOPT_REQ_STRING  },
    1615         { "--verbose",             'v',         RTGETOPT_REQ_NOTHING }
     1623        { "--mode",                'm',                             RTGETOPT_REQ_UINT32  },
     1624        { "--parents",             'P',                             RTGETOPT_REQ_NOTHING },
     1625        { "--password",            GETOPTDEF_MKDIR_PASSWORD,        RTGETOPT_REQ_STRING  },
     1626        { "--username",            GETOPTDEF_MKDIR_USERNAME,        RTGETOPT_REQ_STRING  },
     1627        { "--verbose",             'v',                             RTGETOPT_REQ_NOTHING }
    16161628    };
    16171629
     
    16451657                break;
    16461658
    1647             case 'p': /* Password */
     1659            case GETOPTDEF_MKDIR_PASSWORD: /* Password */
    16481660                Utf8Password = ValueUnion.psz;
    16491661                break;
    16501662
    1651             case 'u': /* User name */
     1663            case GETOPTDEF_MKDIR_USERNAME: /* User name */
    16521664                Utf8UserName = ValueUnion.psz;
    16531665                break;
     
    17141726    AssertPtrReturn(pArg, VERR_INVALID_PARAMETER);
    17151727
    1716     /*
    1717      * Parse arguments.
    1718      *
    1719      * Note! No direct returns here, everyone must go thru the cleanup at the
    1720      *       end of this function.
    1721      */
    17221728    static const RTGETOPTDEF s_aOptions[] =
    17231729    {
    1724         /** @todo Implement "--dereference/-L", and "--file-system/-f" later! */
    1725         { "--password",            'p',         RTGETOPT_REQ_STRING  },
    1726         { "--username",            'u',         RTGETOPT_REQ_STRING  },
    1727         { "--verbose",             'v',         RTGETOPT_REQ_NOTHING }
     1730        { "--dereference",         'L',                             RTGETOPT_REQ_NOTHING },
     1731        { "--file-system",         'f',                             RTGETOPT_REQ_NOTHING },
     1732        { "--format",              'c',                             RTGETOPT_REQ_STRING },
     1733        { "--password",            GETOPTDEF_STAT_PASSWORD,         RTGETOPT_REQ_STRING  },
     1734        { "--terse",               't',                             RTGETOPT_REQ_NOTHING },
     1735        { "--username",            GETOPTDEF_STAT_USERNAME,         RTGETOPT_REQ_STRING  },
     1736        { "--verbose",             'v',                             RTGETOPT_REQ_NOTHING }
    17281737    };
    17291738
     
    17381747
    17391748    bool fVerbose = false;
    1740     DESTDIRMAP mapDirs;
     1749    DESTDIRMAP mapObjs;
    17411750
    17421751    RTEXITCODE rcExit = RTEXITCODE_SUCCESS;
     
    17471756        switch (ch)
    17481757        {
    1749             case 'p': /* Password */
     1758            case GETOPTDEF_STAT_PASSWORD: /* Password */
    17501759                Utf8Password = ValueUnion.psz;
    17511760                break;
    17521761
    1753             case 'u': /* User name */
     1762            case GETOPTDEF_STAT_USERNAME: /* User name */
    17541763                Utf8UserName = ValueUnion.psz;
    17551764                break;
     1765
     1766            case 'L': /* Dereference */
     1767            case 'f': /* File-system */
     1768            case 'c': /* Format */
     1769            case 't': /* Terse */
     1770                return errorSyntax(USAGE_GUESTCONTROL, "Command \"%s\" not implemented yet!",
     1771                                   ValueUnion.psz);
     1772                break; /* Never reached. */
    17561773
    17571774            case 'v': /* Verbose */
     
    17611778            case VINF_GETOPT_NOT_OPTION:
    17621779            {
    1763                 mapDirs[ValueUnion.psz]; /* Add element to check to map. */
     1780                mapObjs[ValueUnion.psz]; /* Add element to check to map. */
    17641781                break;
    17651782            }
    17661783
    17671784            default:
    1768                 rcExit = RTGetOptPrintError(ch, &ValueUnion);
    1769                 break;
    1770         }
    1771     }
    1772 
    1773     uint32_t cDirs = mapDirs.size();
    1774     if (rcExit == RTEXITCODE_SUCCESS && !cDirs)
    1775         rcExit = errorSyntax(USAGE_GUESTCONTROL, "No element to check specified!");
     1785                return RTGetOptPrintError(ch, &ValueUnion);
     1786                break; /* Never reached. */
     1787        }
     1788    }
     1789
     1790    uint32_t cObjs = mapObjs.size();
     1791    if (rcExit == RTEXITCODE_SUCCESS && !cObjs)
     1792        rcExit = errorSyntax(USAGE_GUESTCONTROL, "No element(s) to check specified!");
    17761793
    17771794    if (rcExit == RTEXITCODE_SUCCESS && Utf8UserName.isEmpty())
     
    17851802        HRESULT hrc = S_OK;
    17861803
    1787         DESTDIRMAPITER it = mapDirs.begin();
    1788         while (it != mapDirs.end())
     1804        DESTDIRMAPITER it = mapObjs.begin();
     1805        while (it != mapObjs.end())
    17891806        {
    17901807            if (fVerbose)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette