AdditionsFacilityImpl.h revision 2b2d2111baf3a01b7144b5b3ed0b19007bf08a50
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync * VirtualBox COM class implementation
2b2d2111baf3a01b7144b5b3ed0b19007bf08a50vboxsync * Copyright (C) 2012 Oracle Corporation
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync * available from http://www.virtualbox.org. This file is free software;
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync * you can redistribute it and/or modify it under the terms of the GNU
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync * General Public License (GPL) as published by the Free Software
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT(AdditionsFacility, IAdditionsFacility)
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync // public initializer/uninitializer for internal purposes only
db4e05173041f696b1362c454bbf7e3a41fbe955vboxsync HRESULT init(Guest *a_pParent, AdditionsFacilityType_T a_enmFacility, AdditionsFacilityStatus_T a_enmStatus,
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync // IAdditionsFacility properties
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync STDMETHOD(COMGETTER(ClassType))(AdditionsFacilityClass_T *aClass);
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync STDMETHOD(COMGETTER(LastUpdated))(LONG64 *aTimestamp);
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync STDMETHOD(COMGETTER(Status))(AdditionsFacilityStatus_T *aStatus);
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync STDMETHOD(COMGETTER(Type))(AdditionsFacilityType_T *aType);
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** Facility <-> string mappings. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** The facilitie's name. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** The facilitie's type. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** The facilitie's class. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync // public internal methods
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync static const AdditionsFacility::FacilityInfo &typeToInfo(AdditionsFacilityType_T aType);
db4e05173041f696b1362c454bbf7e3a41fbe955vboxsync void update(AdditionsFacilityStatus_T a_enmStatus, uint32_t a_fFlags, PCRTTIMESPEC a_pTimeSpecTS);
2b2d2111baf3a01b7144b5b3ed0b19007bf08a50vboxsync /** A structure for keeping a facility status
2b2d2111baf3a01b7144b5b3ed0b19007bf08a50vboxsync * set at a certain time. Good for book-keeping. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** The facilitie's current status. */
2b2d2111baf3a01b7144b5b3ed0b19007bf08a50vboxsync /** Record of current and previous facility
2b2d2111baf3a01b7144b5b3ed0b19007bf08a50vboxsync * states, limited to the 10 last states set.
2b2d2111baf3a01b7144b5b3ed0b19007bf08a50vboxsync * Note: This intentionally only is kept in
2b2d2111baf3a01b7144b5b3ed0b19007bf08a50vboxsync * Main so far! */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** The facilitie's ID/type. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync#endif // ____H_ADDITIONSFACILITYIMPL