GuestFsObjInfoImpl.h revision 35f273282237ab7ba160fe573508521e4ea1e9ba
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/* $Id$ */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/** @file
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * VirtualBox Main - XXX.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync/*
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * Copyright (C) 2012 Oracle Corporation
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync *
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * available from http://www.virtualbox.org. This file is free software;
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * you can redistribute it and/or modify it under the terms of the GNU
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * General Public License (GPL) as published by the Free Software
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#ifndef ____H_GUESTFSOBJINFOIMPL
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#define ____H_GUESTFSOBJINFOIMPL
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#include "VirtualBoxBase.h"
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync#include "GuestCtrlImplPrivate.h"
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync/**
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * TODO
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncclass ATL_NO_VTABLE GuestFsObjInfo :
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync public VirtualBoxBase,
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync VBOX_SCRIPTABLE_IMPL(IGuestFsObjInfo)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync{
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsyncpublic:
3fa7a7e633f46a212052b510cdb8cee41f279a67vboxsync /** @name COM and internal init/term/mapping cruft.
3fa7a7e633f46a212052b510cdb8cee41f279a67vboxsync * @{ */
11f8b3da5f2ead2461e7998b3b091bb0f7bd14d9vboxsync VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(GuestFsObjInfo, IGuestFsObjInfo)
cb0578a5309e1fc264e5a4acc30543bea075be43vboxsync DECLARE_NOT_AGGREGATABLE(GuestFsObjInfo)
384478d3896257fbce9ceb8c01e74040b969e6d7vboxsync DECLARE_PROTECT_FINAL_CONSTRUCT()
73ba84f95f918cc170be38908ad240fbb2f8f354vboxsync BEGIN_COM_MAP(GuestFsObjInfo)
73ba84f95f918cc170be38908ad240fbb2f8f354vboxsync VBOX_DEFAULT_INTERFACE_ENTRIES(IGuestFsObjInfo)
73ba84f95f918cc170be38908ad240fbb2f8f354vboxsync COM_INTERFACE_ENTRY(IFsObjInfo)
384478d3896257fbce9ceb8c01e74040b969e6d7vboxsync END_COM_MAP()
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync DECLARE_EMPTY_CTOR_DTOR(GuestFsObjInfo)
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync int init(const GuestFsObjData &objData);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync void uninit(void);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync HRESULT FinalConstruct(void);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync void FinalRelease(void);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync /** @} */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync /** @name IFsObjInfo interface.
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync * @{ */
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STDMETHOD(COMGETTER(AccessTime))(LONG64 *aAccessTime);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STDMETHOD(COMGETTER(AllocatedSize))(LONG64 *aAllocatedSize);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STDMETHOD(COMGETTER(BirthTime))(LONG64 *aBirthTime);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STDMETHOD(COMGETTER(ChangeTime))(LONG64 *aChangeTime);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STDMETHOD(COMGETTER(DeviceNumber))(ULONG *aDeviceNumber);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STDMETHOD(COMGETTER(FileAttributes))(BSTR *aFileAttrs);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STDMETHOD(COMGETTER(GenerationId))(ULONG *aGenerationId);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STDMETHOD(COMGETTER(GID))(ULONG *aGID);
9055f61bb57d2a625c6434d55beac7565c3b3c0dvboxsync STDMETHOD(COMGETTER(GroupName))(BSTR *aGroupName);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(HardLinks))(ULONG *aHardLinks);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(ModificationTime))(LONG64 *aModificationTime);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(Name))(BSTR *aName);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(NodeId))(LONG64 *aNodeId);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(NodeIdDevice))(ULONG *aNodeIdDevice);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(ObjectSize))(LONG64 *aObjectSize);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(Type))(FsObjType_T *aType);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(UID))(ULONG *aUID);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(UserFlags))(ULONG *aUserFlags);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(UserName))(BSTR *aUserName);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync STDMETHOD(COMGETTER(ACL))(BSTR *aACL);
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync /** @} */
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsyncpublic:
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync /** @name Public internal methods.
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync * @{ */
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync /** @} */
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync
4a9af9a8062589b741444d717d2dd1ed22b0f583vboxsyncprivate:
4a9af9a8062589b741444d717d2dd1ed22b0f583vboxsync
4a9af9a8062589b741444d717d2dd1ed22b0f583vboxsync GuestFsObjData mData;
4a9af9a8062589b741444d717d2dd1ed22b0f583vboxsync};
4a9af9a8062589b741444d717d2dd1ed22b0f583vboxsync
4a9af9a8062589b741444d717d2dd1ed22b0f583vboxsync#endif /* !____H_GUESTFSOBJINFOIMPL */
1c0d3d017f9a45748b4839bf6622b53e83a4f1f8vboxsync
4a9af9a8062589b741444d717d2dd1ed22b0f583vboxsync