VirtualBox

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

Last change on this file since 93444 was 93115, checked in by vboxsync, 3 years ago

scm --update-copyright-year

  • 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 93115 2022-01-01 11:31:46Z vboxsync $ */
2/** @file
3 * VirtualBox Main - Guest file system object information implementation.
4 */
5
6/*
7 * Copyright (C) 2012-2022 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 MAIN_INCLUDED_GuestFsObjInfoImpl_h
19#define MAIN_INCLUDED_GuestFsObjInfoImpl_h
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_COMMON_CLASS_METHODS(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 * @{ */
44 const GuestFsObjData &i_getData() const { return mData; }
45 /** @} */
46
47private:
48
49 /** Wrapped @name IGuestFsObjInfo properties.
50 * @{ */
51 HRESULT getName(com::Utf8Str &aName);
52 HRESULT getType(FsObjType_T *aType);
53 HRESULT getFileAttributes(com::Utf8Str &aFileAttributes);
54 HRESULT getObjectSize(LONG64 *aObjectSize);
55 HRESULT getAllocatedSize(LONG64 *aAllocatedSize);
56 HRESULT getAccessTime(LONG64 *aAccessTime);
57 HRESULT getBirthTime(LONG64 *aBirthTime);
58 HRESULT getChangeTime(LONG64 *aChangeTime);
59 HRESULT getModificationTime(LONG64 *aModificationTime);
60 HRESULT getUID(LONG *aUID);
61 HRESULT getUserName(com::Utf8Str &aUserName);
62 HRESULT getGID(LONG *aGID);
63 HRESULT getGroupName(com::Utf8Str &aGroupName);
64 HRESULT getNodeId(LONG64 *aNodeId);
65 HRESULT getNodeIdDevice(ULONG *aNodeIdDevice);
66 HRESULT getHardLinks(ULONG *aHardLinks);
67 HRESULT getDeviceNumber(ULONG *aDeviceNumber);
68 HRESULT getGenerationId(ULONG *aGenerationId);
69 HRESULT getUserFlags(ULONG *aUserFlags);
70 /** @} */
71
72 GuestFsObjData mData;
73};
74
75#endif /* !MAIN_INCLUDED_GuestFsObjInfoImpl_h */
76
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