digraph G
{
  edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
  node [fontname="Helvetica",fontsize="10",shape=record];
  Node1 [label="{SmlDataSyncChange\n|+ type\l+ name\l+ data\l+ size\l+ userdata\l|}",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
  Node2 -> Node1 [color="grey25",fontsize="10",style="solid",label=" datastore" ,arrowhead="odiamond",fontname="Helvetica"];
  Node2 [label="{SmlDataSyncDatastore\n|+ syncChanges\l+ syncContexts\l+ sourceUri\l+ targetUri\l+ contentType\l+ localNext\l+ remoteNext\l+ alertType\l+ changes\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlDataSyncDatastore.html",tooltip="This object represents an OMA DS datastore."];
  Node3 -> Node2 [color="grey25",fontsize="10",style="solid",label=" session" ,arrowhead="odiamond",fontname="Helvetica"];
  Node3 [label="{SmlDsSession\n|+ refCount\l+ session\l+ target\l+ location\l+ recvAlertCallback\l+ recvAlertCallbackUserdata\l+ alertCommand\l+ sentAlertCallback\l+ sentAlertCallbackUserdata\l+ recvSyncCallback\land 20 more...\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlDsSession.html"];
  Node3 -> Node3 [color="grey25",fontsize="10",style="solid",label=" recvMappingCallback\nrecvSyncCallback\nrecvEventCallback\nchangesCallback\nrecvAlertCallback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node4 -> Node3 [color="grey25",fontsize="10",style="solid",label=" target\nlocation" ,arrowhead="odiamond",fontname="Helvetica"];
  Node4 [label="{SmlLocation\n|+ refCount\l+ locURI\l+ locName\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlLocation.html"];
  Node5 -> Node3 [color="grey25",fontsize="10",style="solid",label=" syncCommand\nalertCommand" ,arrowhead="odiamond",fontname="Helvetica"];
  Node5 [label="{SmlCommand\n|+ refCount\l+ type\l+ cmdID\l+ msgID\l+ source\l+ target\l+ children\l+ noResp\l+ size\l+ pushedBack\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlCommand.html"];
  Node4 -> Node5 [color="grey25",fontsize="10",style="solid",label=" target\nsource" ,arrowhead="odiamond",fontname="Helvetica"];
  Node5 -> Node5 [color="grey25",fontsize="10",style="solid",label=" parent" ,arrowhead="odiamond",fontname="Helvetica"];
  Node6 -> Node5 [color="grey25",fontsize="10",style="solid",label=" pendingReply" ,arrowhead="odiamond",fontname="Helvetica"];
  Node6 [label="{SmlPendingStatus\n|+ cmdID\l+ msgID\l+ userdata\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlPendingStatus.html"];
  Node7 -> Node6 [color="grey25",fontsize="10",style="solid",label=" callback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node7 [label="{SmlSession\n|+ refCount\l+ version\l+ protocol\l+ sessionType\l+ onlyReplace\l+ eventCallback\l+ eventCallbackUserdata\l+ dataCallback\l+ dataCallbackUserdata\l+ sessionID\land 31 more...\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlSession.html"];
  Node8 -> Node7 [color="grey25",fontsize="10",style="solid",label=" chal" ,arrowhead="odiamond",fontname="Helvetica"];
  Node8 [label="{SmlChal\n|+ format\l+ type\l+ nonce_plain\l+ nonce_length\l+ nonce_b64\l+ refCount\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlChal.html"];
  Node4 -> Node7 [color="grey25",fontsize="10",style="solid",label=" target\norgTarget\nsource" ,arrowhead="odiamond",fontname="Helvetica"];
  Node5 -> Node7 [color="grey25",fontsize="10",style="solid",label=" parentCommand\nincomingBuffer\nfrag_command" ,arrowhead="odiamond",fontname="Helvetica"];
  Node9 -> Node7 [color="grey25",fontsize="10",style="solid",label=" cred" ,arrowhead="odiamond",fontname="Helvetica"];
  Node9 [label="{SmlCred\n|+ format\l+ type\l+ data\l+ refCount\l+ username\l+ password\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlCred.html"];
  Node10 -> Node7 [color="grey25",fontsize="10",style="solid",label=" command_queue" ,arrowhead="odiamond",fontname="Helvetica"];
  Node10 [label="{SmlQueue\n|+ head\l+ tail\l+ prio\l+ handler\l+ userdata\l+ source\l+ context\l+ functions\l+ mutex\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlQueue.html",tooltip="Represents a Queue which can be used to receive messages."];
  Node7 -> Node7 [color="grey25",fontsize="10",style="solid",label=" eventCallback\nfrag_callback\ndataCallback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node11 -> Node7 [color="grey25",fontsize="10",style="solid",label=" assembler" ,arrowhead="odiamond",fontname="Helvetica"];
  Node11 [label="{SmlAssembler\n|+ assm_userdata\l+ type\l+ options\l+ empty\l+ remoteMaxMsgSize\l+ remoteMaxObjSize\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlAssembler.html"];
  Node12 -> Node11 [color="grey25",fontsize="10",style="solid",label=" functions" ,arrowhead="odiamond",fontname="Helvetica"];
  Node12 [label="{SmlAssemblerFunctions\n|+ free\l+ start\l+ end\l+ run\l+ flush\l+ rem_status\l+ reserve_status\l+ missing_status\l+ end_cmd\l+ rem_cmd\l+ add_header\l+ check_size\l+ next_cmdref\l+ restore_cmds\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlAssemblerFunctions.html"];
  Node13 -> Node12 [color="grey25",fontsize="10",style="solid",label=" add_status" ,arrowhead="odiamond",fontname="Helvetica"];
  Node13 [label="{SmlStatus\n|+ refCount\l+ msgRef\l+ cmdRef\l+ type\l+ data\l+ sourceRef\l+ targetRef\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlStatus.html"];
  Node8 -> Node13 [color="grey25",fontsize="10",style="solid",label=" chal" ,arrowhead="odiamond",fontname="Helvetica"];
  Node4 -> Node13 [color="grey25",fontsize="10",style="solid",label=" sourceRef\ntargetRef" ,arrowhead="odiamond",fontname="Helvetica"];
  Node5 -> Node13 [color="grey25",fontsize="10",style="solid",label=" result" ,arrowhead="odiamond",fontname="Helvetica"];
  Node14 -> Node13 [color="grey25",fontsize="10",style="solid",label=" anchor" ,arrowhead="odiamond",fontname="Helvetica"];
  Node14 [label="{SmlAnchor\n|+ next\l+ last\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlAnchor.html"];
  Node9 -> Node13 [color="grey25",fontsize="10",style="solid",label=" cred" ,arrowhead="odiamond",fontname="Helvetica"];
  Node15 -> Node13 [color="grey25",fontsize="10",style="solid",label=" item" ,arrowhead="odiamond",fontname="Helvetica"];
  Node15 [label="{SmlItem\n|+ refCount\l+ source\l+ target\l+ sourceParent\l+ targetParent\l+ buffer\l+ size\l+ contenttype\l+ moreData\l+ disabled\l+ raw\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlItem.html"];
  Node4 -> Node15 [color="grey25",fontsize="10",style="solid",label=" target\ntargetParent\nsourceParent\nsource" ,arrowhead="odiamond",fontname="Helvetica"];
  Node14 -> Node15 [color="grey25",fontsize="10",style="solid",label=" anchor" ,arrowhead="odiamond",fontname="Helvetica"];
  Node5 -> Node12 [color="grey25",fontsize="10",style="solid",label=" start_cmd" ,arrowhead="odiamond",fontname="Helvetica"];
  Node16 -> Node12 [color="grey25",fontsize="10",style="solid",label=" check_size\nreserve_status\nrem_cmd\nrem_status\nend_cmd\nrun\nend" ,arrowhead="odiamond",fontname="Helvetica"];
  Node16 [label="{SmlError\n|+ type\l+ message\l+ printMessage\l+ refCount\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlError.html",tooltip="Represent an error."];
  Node7 -> Node12 [color="grey25",fontsize="10",style="solid",label=" add_header\nstart" ,arrowhead="odiamond",fontname="Helvetica"];
  Node17 -> Node5 [color="grey25",fontsize="10",style="solid",label=" private" ,arrowhead="odiamond",fontname="Helvetica"];
  Node17 [label="{SmlCommandPrivate\n||}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$unionSmlCommandPrivate.html"];
  Node18 -> Node17 [color="grey25",fontsize="10",style="solid",label=" sync" ,arrowhead="odiamond",fontname="Helvetica"];
  Node18 [label="{SmlCommandSyncPrivate\n|+ numChanged\l+ maxObjSize\l+ hasNumChanged\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlCommandSyncPrivate.html"];
  Node19 -> Node17 [color="grey25",fontsize="10",style="solid",label=" access" ,arrowhead="odiamond",fontname="Helvetica"];
  Node19 [label="{SmlCommandAccessPrivate\n|+ type\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlCommandAccessPrivate.html"];
  Node15 -> Node19 [color="grey25",fontsize="10",style="solid",label=" item" ,arrowhead="odiamond",fontname="Helvetica"];
  Node20 -> Node17 [color="grey25",fontsize="10",style="solid",label=" map" ,arrowhead="odiamond",fontname="Helvetica"];
  Node20 [label="{SmlCommandMapPrivate\n|+ items\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlCommandMapPrivate.html"];
  Node21 -> Node17 [color="grey25",fontsize="10",style="solid",label=" alert" ,arrowhead="odiamond",fontname="Helvetica"];
  Node21 [label="{SmlCommandAlertPrivate\n|+ type\l+ contentType\l+ maxObjSize\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlCommandAlertPrivate.html"];
  Node14 -> Node21 [color="grey25",fontsize="10",style="solid",label=" anchor" ,arrowhead="odiamond",fontname="Helvetica"];
  Node22 -> Node17 [color="grey25",fontsize="10",style="solid",label=" change" ,arrowhead="odiamond",fontname="Helvetica"];
  Node22 [label="{SmlCommandChangePrivate\n|+ items\l+ type\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlCommandChangePrivate.html"];
  Node23 -> Node17 [color="grey25",fontsize="10",style="solid",label=" results" ,arrowhead="odiamond",fontname="Helvetica"];
  Node23 [label="{SmlCommandResultsPrivate\n||}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlCommandResultsPrivate.html"];
  Node13 -> Node23 [color="grey25",fontsize="10",style="solid",label=" status" ,arrowhead="odiamond",fontname="Helvetica"];
  Node24 -> Node3 [color="grey25",fontsize="10",style="solid",label=" server" ,arrowhead="odiamond",fontname="Helvetica"];
  Node24 [label="{SmlDsServer\n|+ location\l+ target\l+ contenttype\l+ servertype\l+ connectCallbackUserdata\l+ sanSessionCallback\l+ sanSessionCallbackUserdata\l+ sanCallback\l+ sanCallbackUserdata\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlDsServer.html"];
  Node3 -> Node24 [color="grey25",fontsize="10",style="solid",label=" connectCallback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node4 -> Node24 [color="grey25",fontsize="10",style="solid",label=" target\nlocation" ,arrowhead="odiamond",fontname="Helvetica"];
  Node24 -> Node24 [color="grey25",fontsize="10",style="solid",label=" sanCallback\nsanSessionCallback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node25 -> Node24 [color="grey25",fontsize="10",style="solid",label=" manager" ,arrowhead="odiamond",fontname="Helvetica"];
  Node25 [label="{SmlManager\n|+ sessions\l+ eventCallbackUserdata\l+ headerCallback\l+ headerStatusCallback\l+ headerCallbackUserdata\l+ objects\l+ functions\l+ context\l+ source\l+ running\l+ running_mutex\l+ localMaxMsgSize\l+ localMaxObjSize\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlManager.html"];
  Node26 -> Node25 [color="grey25",fontsize="10",style="solid",label=" transport" ,arrowhead="odiamond",fontname="Helvetica"];
  Node26 [label="{SmlTransport\n|+ context\l+ state\l+ type\l+ transport_data\l+ event_callback_userdata\l+ event_callback_ref\l_count\l+ connected\l+ links\l+ links_mutex\l+ connections\l+ connections_mutex\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlTransport.html"];
  Node27 -> Node26 [color="grey25",fontsize="10",style="solid",label=" functions" ,arrowhead="odiamond",fontname="Helvetica"];
  Node27 [label="{SmlTransportFunctions\n|+ set_config_option\l+ set_connection_type\l+ initialize\l+ set_response_uri\l+ connect\l+ disconnect\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlTransportFunctions.html"];
  Node28 -> Node27 [color="grey25",fontsize="10",style="solid",label=" send" ,arrowhead="odiamond",fontname="Helvetica"];
  Node28 [label="{SmlTransportData\n|+ data\l+ size\l+ type\l+ ownsData\l+ refCount\l+ needsAnswer\l+ type_get\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlTransportData.html"];
  Node26 -> Node27 [color="grey25",fontsize="10",style="solid",label=" set_response_uri\ninitialize\nset_config_option\nset_connection_type" ,arrowhead="odiamond",fontname="Helvetica"];
  Node16 -> Node27 [color="grey25",fontsize="10",style="solid",label=" finalize" ,arrowhead="odiamond",fontname="Helvetica"];
  Node29 -> Node27 [color="grey25",fontsize="10",style="solid",label=" get_response_uri" ,arrowhead="odiamond",fontname="Helvetica"];
  Node29 [label="{SmlLink\n|+ link_data\l+ refCount\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlLink.html"];
  Node26 -> Node29 [color="grey25",fontsize="10",style="solid",label=" tsp" ,arrowhead="odiamond",fontname="Helvetica"];
  Node26 -> Node26 [color="grey25",fontsize="10",style="solid",label=" event_callback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node16 -> Node26 [color="grey25",fontsize="10",style="solid",label=" cached_error" ,arrowhead="odiamond",fontname="Helvetica"];
  Node30 -> Node26 [color="grey25",fontsize="10",style="solid",label=" thread" ,arrowhead="odiamond",fontname="Helvetica"];
  Node30 [label="{SmlThread\n|+ thread\l+ started\l+ started_cond\l+ started_mutex\l+ context\l+ loop\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlThread.html"];
  Node10 -> Node26 [color="grey25",fontsize="10",style="solid",label=" command_queue" ,arrowhead="odiamond",fontname="Helvetica"];
  Node30 -> Node25 [color="grey25",fontsize="10",style="solid",label=" thread" ,arrowhead="odiamond",fontname="Helvetica"];
  Node10 -> Node25 [color="grey25",fontsize="10",style="solid",label=" userEventQueue" ,arrowhead="odiamond",fontname="Helvetica"];
  Node7 -> Node25 [color="grey25",fontsize="10",style="solid",label=" headerStatusCallback\nheaderCallback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node25 -> Node25 [color="grey25",fontsize="10",style="solid",label=" eventCallback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node7 -> Node3 [color="grey25",fontsize="10",style="solid",label=" session\nsentSyncCallback\nsentAlertCallback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node31 -> Node2 [color="grey25",fontsize="10",style="solid",label=" dsObject" ,arrowhead="odiamond",fontname="Helvetica"];
  Node31 [label="{SmlDataSyncObject\n|+ dsType\l+ tspType\l+ conType\l+ localDevInf\l+ remoteDevInf\l+ managerMutex\l+ functions\l+ context\l+ source\l+ datastores\land 45 more...\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlDataSyncObject.html",tooltip="This is the central synchronization object."];
  Node3 -> Node31 [color="grey25",fontsize="10",style="solid",label=" funcDatastoreAlert" ,arrowhead="odiamond",fontname="Helvetica"];
  Node32 -> Node31 [color="grey25",fontsize="10",style="solid",label=" auth" ,arrowhead="odiamond",fontname="Helvetica"];
  Node32 [label="{SmlAuthenticator\n|+ state\l+ verifyCallbackUserdata\l+ enabled\l+ type\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlAuthenticator.html"];
  Node8 -> Node32 [color="grey25",fontsize="10",style="solid",label=" verifyCallback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node31 -> Node31 [color="grey25",fontsize="10",style="solid",label=" handleRemoteDevInfCallback\nfuncTspInit\neventCallback\nfuncDsConnect\nfuncDsInit\nmappingCallback\ngetAlertTypeCallback\ngetAnchorCallback\nchangeStatusCallback\nfuncTspConnect\n..." ,arrowhead="odiamond",fontname="Helvetica"];
  Node33 -> Node31 [color="grey25",fontsize="10",style="solid",label=" agent" ,arrowhead="odiamond",fontname="Helvetica"];
  Node33 [label="{SmlDevInfAgent\n|+ sessions\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlDevInfAgent.html"];
  Node34 -> Node33 [color="grey25",fontsize="10",style="solid",label=" devinf" ,arrowhead="odiamond",fontname="Helvetica"];
  Node34 [label="{SmlDevInf\n|+ refCount\l+ version\l+ devtyp\l+ manufacturer\l+ model\l+ oem\l+ softwareVersion\l+ hardwareVersion\l+ firmwareVersion\l+ devid\l+ supportsUTC\l+ supportsLargeObjs\l+ supportsNumberOfChanges\l+ datastores\l+ ctcaps\l|}",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$structSmlDevInf.html"];
  Node26 -> Node31 [color="grey25",fontsize="10",style="solid",label=" tsp" ,arrowhead="odiamond",fontname="Helvetica"];
  Node30 -> Node31 [color="grey25",fontsize="10",style="solid",label=" thread" ,arrowhead="odiamond",fontname="Helvetica"];
  Node7 -> Node31 [color="grey25",fontsize="10",style="solid",label=" session" ,arrowhead="odiamond",fontname="Helvetica"];
  Node25 -> Node31 [color="grey25",fontsize="10",style="solid",label=" manager" ,arrowhead="odiamond",fontname="Helvetica"];
  Node34 -> Node31 [color="grey25",fontsize="10",style="solid",label=" remoteDevInf\nlocalDevInf\nreadDevInfCallback" ,arrowhead="odiamond",fontname="Helvetica"];
  Node24 -> Node2 [color="grey25",fontsize="10",style="solid",label=" server" ,arrowhead="odiamond",fontname="Helvetica"];
}
