~ubuntu-branches/ubuntu/gutsy/virtualbox-ose/gutsy

« back to all changes in this revision

Viewing changes to src/VBox/Main/HostNetworkInterfaceImpl.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Steve Kowalik
  • Date: 2007-09-08 16:44:58 UTC
  • Revision ID: james.westby@ubuntu.com-20070908164458-wao29470vqtr8ksy
Tags: upstream-1.5.0-dfsg2
ImportĀ upstreamĀ versionĀ 1.5.0-dfsg2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/** @file
 
2
 *
 
3
 * VirtualBox COM class implementation
 
4
 */
 
5
 
 
6
/*
 
7
 * Copyright (C) 2006-2007 innotek GmbH
 
8
 *
 
9
 * This file is part of VirtualBox Open Source Edition (OSE), as
 
10
 * available from http://www.virtualbox.org. This file is free software;
 
11
 * you can redistribute it and/or modify it under the terms of the GNU
 
12
 * General Public License as published by the Free Software Foundation,
 
13
 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
 
14
 * distribution. VirtualBox OSE is distributed in the hope that it will
 
15
 * be useful, but WITHOUT ANY WARRANTY of any kind.
 
16
 */
 
17
 
 
18
#include "HostNetworkInterfaceImpl.h"
 
19
 
 
20
// constructor / destructor
 
21
/////////////////////////////////////////////////////////////////////////////
 
22
 
 
23
HostNetworkInterface::HostNetworkInterface()
 
24
{
 
25
}
 
26
 
 
27
HostNetworkInterface::~HostNetworkInterface()
 
28
{
 
29
}
 
30
 
 
31
// public initializer/uninitializer for internal purposes only
 
32
/////////////////////////////////////////////////////////////////////////////
 
33
 
 
34
/**
 
35
 * Initializes the host object.
 
36
 *
 
37
 * @returns COM result indicator
 
38
 * @param   interfaceName name of the network interface
 
39
 */
 
40
HRESULT HostNetworkInterface::init (Bstr interfaceName, Guid guid)
 
41
{
 
42
    ComAssertRet (interfaceName, E_INVALIDARG);
 
43
    ComAssertRet (!guid.isEmpty(), E_INVALIDARG);
 
44
 
 
45
    AutoLock lock(this);
 
46
    mInterfaceName = interfaceName;
 
47
    mGuid = guid;
 
48
    setReady(true);
 
49
    return S_OK;
 
50
}
 
51
 
 
52
// IHostNetworkInterface properties
 
53
/////////////////////////////////////////////////////////////////////////////
 
54
 
 
55
/**
 
56
 * Returns the name of the host network interface.
 
57
 *
 
58
 * @returns COM status code
 
59
 * @param   interfaceName address of result pointer
 
60
 */
 
61
STDMETHODIMP HostNetworkInterface::COMGETTER(Name) (BSTR *interfaceName)
 
62
{
 
63
    if (!interfaceName)
 
64
        return E_POINTER;
 
65
    AutoLock lock(this);
 
66
    CHECK_READY();
 
67
    mInterfaceName.cloneTo(interfaceName);
 
68
    return S_OK;
 
69
}
 
70
 
 
71
/**
 
72
 * Returns the GUID of the host network interface.
 
73
 *
 
74
 * @returns COM status code
 
75
 * @param   guid address of result pointer
 
76
 */
 
77
STDMETHODIMP HostNetworkInterface::COMGETTER(Id) (GUIDPARAMOUT guid)
 
78
{
 
79
    if (!guid)
 
80
        return E_POINTER;
 
81
    AutoLock lock(this);
 
82
    CHECK_READY();
 
83
    mGuid.cloneTo(guid);
 
84
    return S_OK;
 
85
}