Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'Port (./kdelibs/arts/flow/synthschedule.h:53)
class Port {
protected:
std::string _name;
void *_ptr;
AttributeType _flags;
StdScheduleNode *parent;
bool _dynamicPort;
// functionality to remove all connections automatically as soon as
// the module gets destroyed
std::list<Port *> autoDisconnect;
/**
* call these from your (dis)connect implementation as soon as a the
* port gets (dis)connected to some other port (only one call per
* connection: destinationport->addAutoDisconnect(sourceport), not
* for the other direction)
*/
void addAutoDisconnect(Port *source);
void removeAutoDisconnect(Port *source);
public:
Port(std::string name, void *ptr, long flags, StdScheduleNode* parent);
virtual ~Port();
AttributeType flags();
std::string name();
void setPtr(void *ptr);
inline bool dynamicPort() { return _dynamicPort; }
inline void setDynamicPort() { _dynamicPort = true; }
virtual class AudioPort *audioPort();
virtual class ASyncPort *asyncPort();
virtual void disconnectAll();
virtual void connect(Port *) = 0;
virtual void disconnect(Port *) = 0;
};
kdelibs'Port::Port() (./kdelibs/arts/flow/synthschedule.cc:72)
Port::Port(string name, void *ptr, long flags, StdScheduleNode* parent)
: _name(name), _ptr(ptr), _flags((AttributeType)flags),
parent(parent), _dynamicPort(false)
{
//
}
kdelibs'Port::~Port() (./kdelibs/arts/flow/synthschedule.cc:79)
Port::~Port()
{
//
}
kdelibs'Port::flags() (./kdelibs/arts/flow/synthschedule.cc:84)
AttributeType Port::flags()
{
return _flags;
}
kdelibs'Port::name() (./kdelibs/arts/flow/synthschedule.cc:89)
string Port::name()
{
return _name;
}
kdelibs'Port::asyncPort() (./kdelibs/arts/flow/synthschedule.cc:94)
ASyncPort *Port::asyncPort()
{
return 0;
}
kdelibs'Port::audioPort() (./kdelibs/arts/flow/synthschedule.cc:99)
AudioPort *Port::audioPort()
{
return 0;
}
kdelibs'Port::addAutoDisconnect() (./kdelibs/arts/flow/synthschedule.cc:104)
void Port::addAutoDisconnect(Port *source)
{
autoDisconnect.push_back(source);
source->autoDisconnect.push_back(this);
}
kdelibs'Port::removeAutoDisconnect() (./kdelibs/arts/flow/synthschedule.cc:110)
void Port::removeAutoDisconnect(Port *source)
{
list<Port *>::iterator adi;
// remove our autodisconnection entry for source port
adi = find(autoDisconnect.begin(),autoDisconnect.end(),source);
assert(adi != autoDisconnect.end());
autoDisconnect.erase(adi);
// remove the source port autodisconnection entry to us
adi=find(source->autoDisconnect.begin(),source->autoDisconnect.end(),this);
assert(adi != source->autoDisconnect.end());
source->autoDisconnect.erase(adi);
}
kdelibs'Port::disconnectAll() (./kdelibs/arts/flow/synthschedule.cc:125)
void Port::disconnectAll()
{
while(!autoDisconnect.empty())
{
Port *other = *autoDisconnect.begin();
// syntax is disconnect(source)
if(_flags & streamIn)
disconnect(other); // if we're incoming, other port is source
else
other->disconnect(this); // if we're outgoing, we're the source
}
}
kdelibs'Port::setPtr() (./kdelibs/arts/flow/synthschedule.cc:139)
void Port::setPtr(void *ptr)
{
_ptr = ptr;
}
// ------- AudioPort ---------