AudioManager  7.6.6
Native Application Runtime Environment
CAmRouter.h File Reference

SPDX license identifier: MPL-2.0. More...

#include <assert.h>
#include <vector>
#include <iomanip>
#include <functional>
#include "audiomanagertypes.h"
#include "CAmGraph.h"
#include "CAmDatabaseHandlerMap.h"

Go to the source code of this file.

Classes

struct  am::am_RoutingNodeData_s
 A structure used as user data in the graph nodes. More...
 
class  am::CAmRouter
 Implements autorouting algorithm for connecting sinks and sources via different audio domains. More...
 

Namespaces

 am
 A Common-API wrapper class, which loads the common-api runtime and instantiates all necessary objects.
 

Macros

#define MAX_ROUTING_PATHS   5
 Optimal path search is implemented with graph which contains nodes - sinks, sources, gateways, converters. More...
 
#define MAX_ALLOWED_DOMAIN_CYCLES   1
 How many times the routing algorithm should look back into domains. More...
 

Typedefs

typedef am_RoutingNodeData_s::am_NodeDataType_e am::CAmNodeDataType
 
typedef CAmNode< am_RoutingNodeData_s > am::CAmRoutingNode
 
typedef CAmGraph< am_RoutingNodeData_s, uint16_t > am::CAmRoutingGraph
 
typedef CAmVertex< am_RoutingNodeData_s, uint16_t > am::CAmRoutingVertex
 
typedef std::list< CAmRoutingVertex > am::CAmRoutingListVertices
 
typedef std::vector< CAmRoutingListVertices * > am::CAmRoutingVertexReferenceList
 

Detailed Description

SPDX license identifier: MPL-2.0.

Copyright (C) 2012, BMW AG

This file is part of GENIVI Project AudioManager.

Contributions are licensed to the GENIVI Alliance under one or more Contribution License Agreements.

Author
Christian Linke, chris.nosp@m.tian.nosp@m..link.nosp@m.e@bm.nosp@m.w.de BMW 2011,2012
Aleksandar Donchev, Aleks.nosp@m.ande.nosp@m.r.Don.nosp@m.chev.nosp@m.@part.nosp@m.ner..nosp@m.bmw.d.nosp@m.e BMW 2013,2014

For further information see http://www.genivi.org/.

Definition in file CAmRouter.h.

Macro Definition Documentation

#define MAX_ALLOWED_DOMAIN_CYCLES   1

How many times the routing algorithm should look back into domains.

0 - no cycles are allowed 1 - default is one cycle ... UINT_MAX - set this define to UINT_MAX in order to allow cycles.

Definition at line 68 of file CAmRouter.h.

#define MAX_ROUTING_PATHS   5

Optimal path search is implemented with graph which contains nodes - sinks, sources, gateways, converters.

The nodes are identified by sinkID, sourceID, gatewayID, converterID. A possible connection between two nodes represents the facts that the nodes can be connected with one or more connectionFormats (Node[id=1] —> Node[id=2]). It is assumption that the two nodes can be connected. The controller itself decides later whether the connection is possible or not. Trace on/off. Max paths count returned to the controller

Definition at line 56 of file CAmRouter.h.