GuestFileImpl.h revision 5050fc8de0b121eab1b738d7c1007cde4903284d
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * VirtualBox Main - XXX.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * Copyright (C) 2012 Oracle Corporation
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * available from http://www.virtualbox.org. This file is free software;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync /** @name COM and internal init/term/mapping cruft.
2f0d866e126dd288169fed591c259c1c6b4016e5vboxsync VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(GuestFile, IGuestFile)
223cf005b18af2c21352a70693ebaf0582f68ebcvboxsync int init(GuestSession *pSession, const Utf8Str &strPath, const Utf8Str &strOpenMode, const Utf8Str &strDisposition, uint32_t uCreationMode, int64_t iOffset, int *pGuestRc);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync /** @name IFile interface.
0174432b2b1a760b89840ba696f7ba51def65dddvboxsync STDMETHOD(COMGETTER(CreationMode))(ULONG *aCreationMode);
2daaccf68be3773aee600c5c3e48bcf5401418a6vboxsync STDMETHOD(COMGETTER(Disposition))(ULONG *aDisposition);
614cbe11a7e5588dc8d369e223174b1441a09359vboxsync STDMETHOD(COMGETTER(InitialSize))(LONG64 *aInitialSize);
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync STDMETHOD(Read)(ULONG aToRead, ULONG aTimeoutMS, ComSafeArrayOut(BYTE, aData));
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync STDMETHOD(ReadAt)(LONG64 aOffset, ULONG aToRead, ULONG aTimeoutMS, ComSafeArrayOut(BYTE, aData));
7666082b743c5e146a8cee6cc794ff4bc3fd0ffdvboxsync STDMETHOD(Seek)(LONG64 aOffset, FileSeekType_T aType);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync STDMETHOD(Write)(ComSafeArrayIn(BYTE, aData), ULONG aTimeoutMS, ULONG *aWritten);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync STDMETHOD(WriteAt)(LONG64 aOffset, ComSafeArrayIn(BYTE, aData), ULONG aTimeoutMS, ULONG *aWritten);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync /** @name Public internal methods.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync static uint32_t getDispositionFromString(const Utf8Str &strDisposition);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync static uint32_t getOpenModeFromString(const Utf8Str &strOpenMode);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync /** The associate session this file belongs to. */
22e281e75ed636601178296c6daebda8f1d17c59vboxsync#endif /* !____H_GUESTFILEIMPL */