VirtualBox

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

Last change on this file since 42095 was 42095, checked in by vboxsync, 12 years ago

Build fix.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.4 KB
Line 
1
2/* $Id: GuestFsObjInfoImpl.h 42095 2012-07-10 12:58:13Z vboxsync $ */
3/** @file
4 * VirtualBox Main - XXX.
5 */
6
7/*
8 * Copyright (C) 2012 Oracle Corporation
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License (GPL) as published by the Free Software
14 * Foundation, in version 2 as it comes in the "COPYING" file of the
15 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17 */
18
19#ifndef ____H_GUESTFSOBJINFOIMPL
20#define ____H_GUESTFSOBJINFOIMPL
21
22#include "VirtualBoxBase.h"
23
24/**
25 * TODO
26 */
27class ATL_NO_VTABLE GuestFsObjInfo :
28 public VirtualBoxBase,
29 VBOX_SCRIPTABLE_IMPL(IGuestFsObjInfo)
30{
31public:
32 /** @name COM and internal init/term/mapping cruft.
33 * @{ */
34 VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(GuestFsObjInfo, IGuestFsObjInfo)
35 DECLARE_NOT_AGGREGATABLE(GuestFsObjInfo)
36 DECLARE_PROTECT_FINAL_CONSTRUCT()
37 BEGIN_COM_MAP(GuestFsObjInfo)
38 VBOX_DEFAULT_INTERFACE_ENTRIES(IGuestFsObjInfo)
39 COM_INTERFACE_ENTRY(IFsObjInfo)
40 END_COM_MAP()
41 DECLARE_EMPTY_CTOR_DTOR(GuestFsObjInfo)
42
43 HRESULT init(void);
44 void uninit(void);
45 HRESULT FinalConstruct(void);
46 void FinalRelease(void);
47 /** @} */
48
49 /** @name IFsObjInfo interface.
50 * @{ */
51 STDMETHOD(COMGETTER(AccessTime))(LONG64 *aAccessTime);
52 STDMETHOD(COMGETTER(AllocatedSize))(LONG64 *aAllocatedSize);
53 STDMETHOD(COMGETTER(BirthTime))(LONG64 *aBirthTime);
54 STDMETHOD(COMGETTER(ChangeTime))(LONG64 *aChangeTime);
55 STDMETHOD(COMGETTER(DeviceNumber))(ULONG *aDeviceNumber);
56 STDMETHOD(COMGETTER(FileAttrs))(BSTR *aFileAttrs);
57 STDMETHOD(COMGETTER(GenerationID))(ULONG *aGenerationID);
58 STDMETHOD(COMGETTER(GID))(ULONG *aGID);
59 STDMETHOD(COMGETTER(GroupName))(BSTR *aGroupName);
60 STDMETHOD(COMGETTER(HardLinks))(ULONG *aHardLinks);
61 STDMETHOD(COMGETTER(ModificationTime))(LONG64 *aModificationTime);
62 STDMETHOD(COMGETTER(Name))(BSTR *aName);
63 STDMETHOD(COMGETTER(NodeID))(LONG64 *aNodeID);
64 STDMETHOD(COMGETTER(NodeIDDevice))(ULONG *aNodeIDDevice);
65 STDMETHOD(COMGETTER(ObjectSize))(ULONG *aObjectSize);
66 STDMETHOD(COMGETTER(Type))(FsObjType_T *aType);
67 STDMETHOD(COMGETTER(UID))(ULONG *aUID);
68 STDMETHOD(COMGETTER(UserFlags))(ULONG *aUserFlags);
69 STDMETHOD(COMGETTER(UserName))(BSTR *aUserName);
70 STDMETHOD(COMGETTER(ACL))(BSTR *aACL);
71 /** @} */
72
73public:
74 /** @name Public internal methods.
75 * @{ */
76 /** @} */
77
78private:
79
80 struct Data
81 {
82 LONG64 mAccessTime;
83 LONG64 mAllocatedSize;
84 LONG64 mBirthTime;
85 LONG64 mChangeTime;
86 ULONG mDeviceNumber;
87 Utf8Str mFileAttrs;
88 ULONG mGenerationID;
89 ULONG mGID;
90 Utf8Str mGroupName;
91 ULONG mNumHardLinks;
92 LONG64 mModificationTime;
93 Utf8Str mName;
94 LONG64 mNodeID;
95 ULONG mNodeIDDevice;
96 LONG64 mObjectSize;
97 FsObjType mType;
98 ULONG mUID;
99 ULONG mUserFlags;
100 Utf8Str mUserName;
101 Utf8Str mACL;
102 } mData;
103};
104
105#endif /* !____H_GUESTFSOBJINFOIMPL */
106
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