VirtualBox

source: vbox/trunk/src/VBox/Main/include/GuestFsObjInfoImpl.h@ 76487

Last change on this file since 76487 was 76487, checked in by vboxsync, 6 years ago

Main/include: Slapped #pragma once on all headers in prep for GCC precompiled headers. Won't catch repeat includes of an already precompiled header otherwise, i.e. killing most of the PCH gain.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.3 KB
Line 
1/* $Id: GuestFsObjInfoImpl.h 76487 2018-12-27 03:31:39Z vboxsync $ */
2/** @file
3 * VirtualBox Main - Guest file system object information implementation.
4 */
5
6/*
7 * Copyright (C) 2012-2018 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#ifndef ____H_GUESTFSOBJINFOIMPL
19#define ____H_GUESTFSOBJINFOIMPL
20#ifndef RT_WITHOUT_PRAGMA_ONCE
21# pragma once
22#endif
23
24#include "GuestFsObjInfoWrap.h"
25#include "GuestCtrlImplPrivate.h"
26
27class ATL_NO_VTABLE GuestFsObjInfo
28 : public GuestFsObjInfoWrap
29{
30public:
31 /** @name COM and internal init/term/mapping cruft.
32 * @{ */
33 DECLARE_EMPTY_CTOR_DTOR(GuestFsObjInfo)
34
35 int init(const GuestFsObjData &objData);
36 void uninit(void);
37
38 HRESULT FinalConstruct(void);
39 void FinalRelease(void);
40 /** @} */
41
42 /** @name Internal access helpers. */
43 const GuestFsObjData &i_getData() const { return mData; }
44 /** @} */
45
46private:
47
48 /** Wrapped @name IGuestFsObjInfo properties.
49 * @{ */
50 HRESULT getName(com::Utf8Str &aName);
51 HRESULT getType(FsObjType_T *aType);
52 HRESULT getFileAttributes(com::Utf8Str &aFileAttributes);
53 HRESULT getObjectSize(LONG64 *aObjectSize);
54 HRESULT getAllocatedSize(LONG64 *aAllocatedSize);
55 HRESULT getAccessTime(LONG64 *aAccessTime);
56 HRESULT getBirthTime(LONG64 *aBirthTime);
57 HRESULT getChangeTime(LONG64 *aChangeTime);
58 HRESULT getModificationTime(LONG64 *aModificationTime);
59 HRESULT getUID(LONG *aUID);
60 HRESULT getUserName(com::Utf8Str &aUserName);
61 HRESULT getGID(LONG *aGID);
62 HRESULT getGroupName(com::Utf8Str &aGroupName);
63 HRESULT getNodeId(LONG64 *aNodeId);
64 HRESULT getNodeIdDevice(ULONG *aNodeIdDevice);
65 HRESULT getHardLinks(ULONG *aHardLinks);
66 HRESULT getDeviceNumber(ULONG *aDeviceNumber);
67 HRESULT getGenerationId(ULONG *aGenerationId);
68 HRESULT getUserFlags(ULONG *aUserFlags);
69 /** @} */
70
71 GuestFsObjData mData;
72};
73
74#endif /* !____H_GUESTFSOBJINFOIMPL */
75
Note: See TracBrowser for help on using the repository browser.

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