4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync/* $Id$ */
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync/** @file
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync * Config.h
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync */
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync/*
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync * Copyright (C) 2013 Oracle Corporation
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync *
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync * available from http://www.virtualbox.org. This file is free software;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync * you can redistribute it and/or modify it under the terms of the GNU
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync * General Public License (GPL) as published by the Free Software
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync */
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync#ifndef __CLIENT_DATA_INT_H__
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync#define __CLIENT_DATA_INT_H__
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsyncclass ClientData
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync{
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsyncpublic:
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync ClientData()
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync {
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync m_address.u = 0;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync m_network.u = 0;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync fHasLease = false;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync fHasClient = false;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync fBinding = true;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync u64TimestampBindingStarted = 0;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync u64TimestampLeasingStarted = 0;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync u32LeaseExpirationPeriod = 0;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync u32BindExpirationPeriod = 0;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync pCfg = NULL;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync }
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync ~ClientData(){}
0d49a2fbc9857ad8dd29542de7fb37202f1a283fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync /* client information */
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync RTNETADDRIPV4 m_address;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync RTNETADDRIPV4 m_network;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync RTMAC m_mac;
0d49a2fbc9857ad8dd29542de7fb37202f1a283fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync bool fHasClient;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync /* Lease part */
0d49a2fbc9857ad8dd29542de7fb37202f1a283fvboxsync bool fHasLease;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync /** lease isn't commited */
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync bool fBinding;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync /** Timestamp when lease commited. */
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync uint64_t u64TimestampLeasingStarted;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync /** Period when lease is expired in secs. */
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync uint32_t u32LeaseExpirationPeriod;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync /** timestamp when lease was bound */
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync uint64_t u64TimestampBindingStarted;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync /* Period when binding is expired in secs. */
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync uint32_t u32BindExpirationPeriod;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync MapOptionId2RawOption options;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync NetworkConfigEntity *pCfg;
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync};
0d49a2fbc9857ad8dd29542de7fb37202f1a283fvboxsync
4901e0b6b9ee11ee0450793610578cce818faf0fvboxsync#endif