NetSim Source Code Help
Loading...
Searching...
No Matches
MetricsWriter.h
Go to the documentation of this file.
1#pragma once
2
3typedef enum enu_node_type
4{
12
14{
19
20#ifndef _METRICS_NODE_CODE_
21typedef void* PMETRICSNODE;
22#else
23typedef struct stru_metrics_node METRICSNODE, *PMETRICSNODE;
24#endif
25
26#ifndef _NETSIM_METRICS_WRITER_CODE_
27typedef void* PMETRICSWRITER;
28#else
29typedef struct stru_metrics_writer METRICSWRITER, *PMETRICSWRITER;
30#endif
31
32/*Initialize a new metrics node.
33 Input:
34 1. Metrics node type
35 2. Name of the node
36 3. Second argument
37 1. NULL in case of text and table
38 2. onClick reference in case of link and button
39 3. data_file_name in case of plot
40*/
41_declspec(dllexport) PMETRICSNODE init_metrics_node(METRICS_NODE type, char* name, char* secondarg);
42//Delete/Free the metrics node.
44//Add table heading to a metrics table.
45_declspec(dllexport) void add_table_heading(PMETRICSNODE node, char* name, bool isShow, int subheadingcount, ...);
46//Add table heading without subheading
47_declspec(dllexport) void add_table_heading_special(PMETRICSNODE node, char* heading);
48//Add formatted table row. Used for text row.
49_declspec(dllexport) void add_table_row_formatted(bool issame, PMETRICSNODE node, char* format, ...);
50//Used to add a node to table
51_declspec(dllexport) void add_table_row(bool issame, PMETRICSNODE node, PMETRICSNODE row);
52
53//Add a metrics node to menu item
55
56//Write metrics node to xml file
57_declspec(dllexport) void write_metrics_node(PMETRICSWRITER writer, WRITER_POSITION writerPosition, char* writer_name, PMETRICSNODE node);
58
59/**Metrics writer**/
60//Initialize the metrics writer.
61_declspec(dllexport) PMETRICSWRITER init_xmlwriter(char* uri,char* name);
62//Create new metrics writer position
63_declspec(dllexport) void create_new_metrics_writer(PMETRICSWRITER writer, char* name);
64//Add an element to xml file
65_declspec(dllexport) void add_element(PMETRICSWRITER writer,
66 WRITER_POSITION writerPosition,
67 char* writer_name,
68 char* name,
69 void(*fncall)(PMETRICSWRITER writer, WRITER_POSITION writerPosition, char* writer_name, int argc, char* argv[]),
70 int argc,
71 char* argv[]);
72//Close the xml writer
73_declspec(dllexport) void close_xmlwriter(PMETRICSWRITER metricsWriter);
74//Add an attribute to xml file
75_declspec(dllexport) void add_attribute(PMETRICSWRITER writer, WRITER_POSITION writerPosition, char* writer_name, char* name, char* format, ...);
76
77
#define _declspec(dllexport)
This function is used to trigger the update.
Definition: Linux.h:41
enum_writer_position
Definition: MetricsWriter.h:14
@ WriterPosition_Current
Definition: MetricsWriter.h:15
@ WriterPosition_Choose
Definition: MetricsWriter.h:17
@ WriterPosition_Last
Definition: MetricsWriter.h:16
void write_metrics_node(PMETRICSWRITER writer, WRITER_POSITION writerPosition, char *writer_name, PMETRICSNODE node)
void add_table_heading_special(PMETRICSNODE node, char *heading)
PMETRICSNODE init_metrics_node(METRICS_NODE type, char *name, char *secondarg)
void add_element(PMETRICSWRITER writer, WRITER_POSITION writerPosition, char *writer_name, char *name, void(*fncall)(PMETRICSWRITER writer, WRITER_POSITION writerPosition, char *writer_name, int argc, char *argv[]), int argc, char *argv[])
void add_table_row(bool issame, PMETRICSNODE node, PMETRICSNODE row)
void * PMETRICSNODE
Definition: MetricsWriter.h:21
PMETRICSWRITER init_xmlwriter(char *uri, char *name)
void * PMETRICSWRITER
Definition: MetricsWriter.h:27
void create_new_metrics_writer(PMETRICSWRITER writer, char *name)
enum enum_writer_position WRITER_POSITION
void add_attribute(PMETRICSWRITER writer, WRITER_POSITION writerPosition, char *writer_name, char *name, char *format,...)
enum enu_node_type METRICS_NODE
void close_xmlwriter(PMETRICSWRITER metricsWriter)
void add_table_heading(PMETRICSNODE node, char *name, bool isShow, int subheadingcount,...)
void delete_metrics_node(PMETRICSNODE node)
void add_node_to_menu(PMETRICSNODE menu, PMETRICSNODE node)
void add_table_row_formatted(bool issame, PMETRICSNODE node, char *format,...)
enu_node_type
Definition: MetricsWriter.h:4
@ MetricsNode_Link
Definition: MetricsWriter.h:8
@ MetricsNode_Button
Definition: MetricsWriter.h:10
@ MetricsNode_Menu
Definition: MetricsWriter.h:5
@ MetricsNode_Table
Definition: MetricsWriter.h:6
@ MetricsNode_Text
Definition: MetricsWriter.h:7
@ MetricsNode_Plot
Definition: MetricsWriter.h:9
PMETRICSNODE menu
Definition: SwitchTable.c:48