00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00037 #ifndef __NUSMV_CORE_TRACE_PLUGINS_TRACE_PLUGIN_PRIVATE_H__
00038 #define __NUSMV_CORE_TRACE_PLUGINS_TRACE_PLUGIN_PRIVATE_H__
00039
00040 #include "nusmv/core/trace/plugins/TracePlugin.h"
00041 #include "nusmv/core/trace/TraceOpt.h"
00042
00043 #include "nusmv/core/utils/utils.h"
00044 #include "nusmv/core/utils/object.h"
00045 #include "nusmv/core/utils/object_private.h"
00046
00047 #include "nusmv/core/node/anonymizers/NodeAnonymizerBase.h"
00048 #include "nusmv/core/node/anonymizers/NodeAnonymizerST.h"
00049
00050
00051
00052
00053
00054
00055
00056
00057
00066 typedef struct TracePlugin_TAG
00067 {
00068 INHERITS_FROM(Object);
00069
00070 char* desc;
00071
00072
00073 Trace_ptr trace;
00074
00075
00076 TraceOpt_ptr opt;
00077
00078
00079 hash_ptr visibility_map;
00080
00081
00082 NodeAnonymizerBase_ptr anonymizer;
00083
00084
00085
00086
00087
00088
00089 VIRTUAL int (*action)(const TracePlugin_ptr self);
00090
00091
00092 VIRTUAL void (*print_symbol)(const TracePlugin_ptr self, node_ptr symbol);
00093
00094 VIRTUAL void (*print_list)(const TracePlugin_ptr self, node_ptr list);
00095
00096 VIRTUAL void (*print_assignment)(const TracePlugin_ptr self,
00097 node_ptr symbol, node_ptr val);
00098 } TracePlugin;
00099
00102
00103
00104
00105
00106
00107
00108
00115 VIRTUAL void
00116 TracePlugin_print_symbol(const TracePlugin_ptr self, node_ptr symb);
00117
00124 VIRTUAL void
00125 TracePlugin_print_list(const TracePlugin_ptr self, node_ptr list);
00126
00133 VIRTUAL void
00134 TracePlugin_print_assignment(const TracePlugin_ptr self,
00135 node_ptr symb, node_ptr val);
00136
00143 boolean trace_plugin_is_visible_symbol(TracePlugin_ptr self,
00144 node_ptr symb);
00145
00152 void trace_plugin_print_symbol(const TracePlugin_ptr self,
00153 node_ptr symbol);
00154
00161 void trace_plugin_print_list(const TracePlugin_ptr self,
00162 node_ptr list);
00163
00170 void trace_plugin_print_assignment(const TracePlugin_ptr self,
00171 node_ptr symb, node_ptr val);
00172
00179 void trace_plugin_init(TracePlugin_ptr self, char* desc);
00180
00187 void trace_plugin_deinit(TracePlugin_ptr self);
00188
00198 int trace_plugin_action(const TracePlugin_ptr self);
00199
00202 #endif