diff --git a/src/plugins/simulator/fs9/host_node.cpp b/src/plugins/simulator/fs9/host_node.cpp new file mode 100644 index 000000000..7a968a439 --- /dev/null +++ b/src/plugins/simulator/fs9/host_node.cpp @@ -0,0 +1,34 @@ +/* Copyright (C) 2014 + * swift project community / contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ + +#include "host_node.h" + +namespace BlackSimPlugin +{ + namespace Fs9 + { + CHostNode::CHostNode() + { + } + + CHostNode::CHostNode(const CHostNode &other) + : m_appDesc(other.m_appDesc), m_sessionName(other.m_sessionName) + { + other.m_hostAddress->Duplicate(&m_hostAddress); + } + + CHostNode::~CHostNode() + { + if (m_hostAddress) + m_hostAddress->Release(); + + m_hostAddress = nullptr; + } + } +} diff --git a/src/plugins/simulator/fs9/host_node.h b/src/plugins/simulator/fs9/host_node.h new file mode 100644 index 000000000..63581f482 --- /dev/null +++ b/src/plugins/simulator/fs9/host_node.h @@ -0,0 +1,64 @@ +/* Copyright (C) 2014 + * swift project community / contributors + * + * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level + * directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project, + * including this file, may be copied, modified, propagated, or distributed except according to the terms + * contained in the LICENSE file. + */ +#ifndef BLACKSIMPLUGIN_FS9_HOST_NODE_H +#define BLACKSIMPLUGIN_FS9_HOST_NODE_H + +#include +#include + +//! \file + +namespace BlackSimPlugin +{ + namespace Fs9 + { + //! Class representing a enumerated host node + struct CHostNode + { + //! Constructor + CHostNode(); + + //! Copy constructor + CHostNode(const CHostNode &other); + + //! Destructor + ~CHostNode(); + + //! Returns the hosts application description + DPN_APPLICATION_DESC getApplicationDesc() const { return m_appDesc; } + + //! Set the hosts application description + void setApplicationDesc(const DPN_APPLICATION_DESC &appDesc) { m_appDesc = appDesc; } + + //! Returns a pointer to the hosts address + IDirectPlay8Address **getHostAddressPtr() { return &m_hostAddress; } + + //! Returns the hosts address + IDirectPlay8Address *getHostAddress() { return m_hostAddress; } + + //! Sets hosts address + void setHostAddress(IDirectPlay8Address *address) { m_hostAddress = address; } + + //! Returns the sessions name + QString getSessionName() const { return m_sessionName; } + + //! Set the session name + void setSessionName(const QString &name) { m_sessionName = name; } + + private: + + IDirectPlay8Address *m_hostAddress = nullptr; + DPN_APPLICATION_DESC m_appDesc; + QString m_sessionName; + + }; + } +} + +#endif //BLACKSIMPLUGIN_FS9_HOST_NODE_H