CLAM-Development
1.4.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Flow
Ports
OutPort.cxx
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2004 MUSIC TECHNOLOGY GROUP (MTG)
3
* UNIVERSITAT POMPEU FABRA
4
*
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*
20
*/
21
22
#include "
OutPort.hxx
"
23
#include "
Processing.hxx
"
24
25
namespace
CLAM
26
{
27
28
OutPortBase::OutPortBase
(
const
std::string & name,
Processing
* proc )
29
: mName(name)
30
, mProcessing(proc)
31
, mPublisher(0)
32
{
33
if
(proc)
34
proc->
RegisterOutPort
(
this
);
35
}
36
37
OutPortBase::~OutPortBase
()
38
{
39
if
(
mPublisher
)
40
mPublisher
->
UnpublishOutPort
();
41
if
(
mProcessing
)
42
mProcessing
->
GetOutPorts
().
ProcessingInterface_Unregister
(
this
);
43
}
44
45
const
std::string &
OutPortBase::GetName
()
46
{
47
return
mName
;
48
}
49
50
Processing
*
OutPortBase::GetProcessing
()
51
{
52
return
mProcessing
;
53
}
54
55
OutPortBase::InPortsList::iterator
OutPortBase::BeginVisuallyConnectedInPorts
()
56
{
57
return
mVisuallyConnectedPorts
.begin();
58
}
59
60
OutPortBase::InPortsList::iterator
OutPortBase::EndVisuallyConnectedInPorts
()
61
{
62
return
mVisuallyConnectedPorts
.end();
63
}
64
65
void
OutPortBase::SetPublisher
(
OutPortBase
& publisher)
66
{
67
mPublisher
= &publisher;
68
};
69
void
OutPortBase::UnsetPublisher
( )
70
{
71
mPublisher
= 0;
72
};
73
74
}
// namespace CLAM
75
Generated by
1.8.1