68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync * VirtualBox COM class implementation
99ed66b1a390b4f20a1a921c6f8b4d3d2d251adbvboxsync * Copyright (C) 2014 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 // public initializer/uninitializer for internal purposes only
db4e05173041f696b1362c454bbf7e3a41fbe955vboxsync HRESULT init(Guest *a_pParent, AdditionsFacilityType_T a_enmFacility, AdditionsFacilityStatus_T a_enmStatus,
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** Facility <-> string mappings. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** The facilitie's name. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** The facilitie's type. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync /** The facilitie's class. */
68e0b366071a6dd88182866e8852ec5ec90a8b66vboxsync // public internal methods
99ed66b1a390b4f20a1a921c6f8b4d3d2d251adbvboxsync static const AdditionsFacility::FacilityInfo &i_typeToInfo(AdditionsFacilityType_T aType);
99ed66b1a390b4f20a1a921c6f8b4d3d2d251adbvboxsync void i_update(AdditionsFacilityStatus_T a_enmStatus, uint32_t a_fFlags, PCRTTIMESPEC a_pTimeSpecTS);
99ed66b1a390b4f20a1a921c6f8b4d3d2d251adbvboxsync // Wrapped IAdditionsFacility properties
99ed66b1a390b4f20a1a921c6f8b4d3d2d251adbvboxsync HRESULT getClassType(AdditionsFacilityClass_T *aClassType);
99ed66b1a390b4f20a1a921c6f8b4d3d2d251adbvboxsync HRESULT getStatus(AdditionsFacilityStatus_T *aStatus);
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