VirtualBox

Changeset 93085 in vbox for trunk/src/VBox/Main/include


Ignore:
Timestamp:
Dec 27, 2021 4:55:00 AM (3 years ago)
Author:
vboxsync
Message:

Main/Unattended: Some more work on the OS/2 unattended installation.

File:
1 edited

Legend:

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

    r92768 r93085  
    219219
    220220    /**
    221      * Creates and formats (FAT12) a floppy image, then opens a VFS for it.
     221     * Creates and formats (FAT12) a floppy image.
     222     *
     223     * This can be overridden to do more preparation work or/and create a different
     224     * sized floppy.
    222225     *
    223226     * @returns COM status code.
    224227     * @param   pszFilename     The path to the image file.
    225228     * @param   fOverwrite      Whether to overwrite the file.
    226      * @param   phVfs           Where to return a writable VFS handle to the newly
     229     * @param   phVfsFile       Where to return a read-writable handle to the newly
    227230     *                          created image.
    228231     */
    229     HRESULT newAuxFloppyImage(const char *pszFilename, bool fOverwrite, PRTVFS phVfs);
     232    virtual HRESULT newAuxFloppyImage(const char *pszFilename, bool fOverwrite, PRTVFSFILE phVfsFile);
    230233
    231234    /**
     
    250253     */
    251254    HRESULT addScriptToFloppyImage(BaseTextScript *pEditor, RTVFS hVfs);
     255
     256    /**
     257     * Copy an arbritrary file onto the floopy image.
     258     *
     259     * @returns COM status code.
     260     * @param   hVfs            The VFS to add it to.
     261     * @param   pszSrc          The source filename.
     262     * @param   pszDst          The destination filename (on @a hVfs).
     263     */
     264    HRESULT addFileToFloppyImage(RTVFS hVfs, const char *pszSrc, const char *pszDst);
    252265
    253266    /**
     
    421434    bool bootFromAuxiliaryIso() const       { return false; }
    422435};
     436
     437
     438/**
     439 * OS/2 installer.
     440 */
     441class UnattendedOs2Installer : public UnattendedInstaller
     442{
     443public:
     444    DECLARE_TRANSLATE_METHODS(UnattendedOs2Installer)
     445
     446    UnattendedOs2Installer(Unattended *pParent, Utf8Str const &rStrHints);
     447    ~UnattendedOs2Installer()                           {}
     448
     449    /* Remaster original ISO with auxiliary floppy used for el torito floppy emulation: */
     450    bool isOriginalIsoNeeded()     const RT_OVERRIDE    { return false; }
     451    bool isAuxiliaryFloppyNeeded() const RT_OVERRIDE    { return true; }
     452    bool isAuxiliaryIsoNeeded()    const RT_OVERRIDE    { return true; }
     453
     454protected:
     455    HRESULT replaceAuxFloppyImageBootSector(RTVFSFILE hVfsFile) RT_NOEXCEPT;
     456    HRESULT newAuxFloppyImage(const char *pszFilename, bool fOverwrite, PRTVFSFILE phVfsFile) RT_OVERRIDE;
     457    HRESULT copyFilesToAuxFloppyImage(RTVFS hVfs) RT_OVERRIDE;
     458    HRESULT addFilesToAuxVisoVectors(RTCList<RTCString> &rVecArgs, RTCList<RTCString> &rVecFiles,
     459                                     RTVFS hVfsOrgIso, bool fOverwrite) RT_OVERRIDE;
     460
     461    HRESULT splitResponseFile() RT_NOEXCEPT;
     462
     463    /**
     464     * Splits up the given file into sub-files and writes them out with the auxilary
     465     * path base as prefix.
     466     *
     467     * The source file contains @@VBOX_SPLITTER_START[filename]@@ and
     468     * @@VBOX_SPLITTER_END[filename]@@  markup that is used to split it up.  Any
     469     * text between END and START tags are ignored and can be used for comments.
     470     *
     471     * @returns COM status code (error info set).
     472     * @param   pszFileToSplit      The name of the file to split.
     473     * @param   rVecSplitFiles      Vector where names of the sub-files are appended
     474     *                              (without any path or prefix).
     475     */
     476    HRESULT splitFile(const char *pszFileToSplit, RTCList<RTCString> &rVecSplitFiles) RT_NOEXCEPT;
     477
     478    /**
     479     * Splits up the given editor output into sub-files and writes them out with the
     480     * auxilary path base as prefix.
     481     *
     482     * The source file contains @@VBOX_SPLITTER_START[filename]@@ and
     483     * @@VBOX_SPLITTER_END[filename]@@  markup that is used to split it up.  Any
     484     * text between END and START tags are ignored and can be used for comments.
     485     *
     486     * @returns COM status code (error info set).
     487     * @param   pEditor             The editor which output should be split.
     488     * @param   rVecSplitFiles      Vector where names of the sub-files are appended
     489     *                              (without any path or prefix).
     490     */
     491    HRESULT splitFile(BaseTextScript *pEditor, RTCList<RTCString> &rVecSplitFiles) RT_NOEXCEPT;
     492
     493    HRESULT splitFileInner(const char *pszFileToSplit, RTCList<RTCString> &rVecSplitFiles,
     494                           const char *pszSrc, size_t cbLeft) RT_NOEXCEPT;
     495
     496    /** The OS2SE20.SRC path (\OS2IMAGES). */
     497    Utf8Str mStrOs2Images;
     498    /** Files split out from os2_response_files.rsp (bare filenames, no paths). */
     499    RTCList<RTCString> mVecSplitFiles;
     500};
     501
    423502
    424503
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