Revision 9d023582

View differences:

ide/org.omnetpp.ide.nativelibs/META-INF/MANIFEST.MF
1
Manifest-Version: 1.0
2
Bundle-ManifestVersion: 2
3
Bundle-Name: OMNeT++ Native library plug-in
4
Bundle-SymbolicName: org.omnetpp.ide.nativelibs
5
Bundle-Version: 4.1.0.100611-4b63c38
6
Bundle-Vendor: OpenSim Ltd.
7
Require-Bundle: org.eclipse.core.runtime,
8
 org.eclipse.swt,
9
 org.eclipse.jface
10
Eclipse-LazyStart: true
11
Export-Package: org.omnetpp.common.engine,
12
 org.omnetpp.eventlog.engine,
13
 org.omnetpp.layout.engine,
14
 org.omnetpp.ned.engine,
15
 org.omnetpp.scave.engine,
16
 org.omnetpp.scave.engineext
ide/org.omnetpp.ide.nativelibs/Makefile
1
#
2
# Global definitions
3
#
4

  
5
include ../../Makefile.inc
6

  
7
# Make sure that output locations are set
8
ifeq ("$(strip $(OMNETPP_BIN_DIR))","")
9
$(error OMNETPP_BIN_DIR must be correctly set)
10
endif
11
ifeq ("$(strip $(OMNETPP_OUT_DIR))","")
12
$(error OMNETPP_OUT_DIR must be correctly set)
13
endif
14
ifeq ("$(strip $(OMNETPP_LIB_DIR))","")
15
$(error OMNETPP_LIB_DIR must be correctly set)
16
endif
17

  
18
L=$(OMNETPP_LIB_DIR)/$(TOOLCHAIN_NAME)
19
O=$(OMNETPP_OUT_DIR)/$(TOOLCHAIN_NAME)-$(MODE)/ui
20

  
21
#
22
# Local definitions
23
#
24
COMMON=$(OMNETPP_ROOT)/src/common
25
NEDXML=$(OMNETPP_ROOT)/src/nedxml
26
SCAVE=$(OMNETPP_ROOT)/src/scave
27
LAYOUT=$(OMNETPP_ROOT)/src/layout
28
EVENTLOG=$(OMNETPP_ROOT)/src/eventlog
29

  
30
COMMON_JAVAPKG = org.omnetpp.common.engine
31
NEDXML_JAVAPKG = org.omnetpp.ned.engine
32
SCAVE_JAVAPKG = org.omnetpp.scave.engine
33
LAYOUT_JAVAPKG = org.omnetpp.layout.engine
34
EVENTLOG_JAVAPKG = org.omnetpp.eventlog.engine
35

  
36
COMMON_JAVADIR = src/$(subst .,/,$(COMMON_JAVAPKG))
37
NEDXML_JAVADIR = src/$(subst .,/,$(NEDXML_JAVAPKG))
38
SCAVE_JAVADIR = src/$(subst .,/,$(SCAVE_JAVAPKG))
39
LAYOUT_JAVADIR = src/$(subst .,/,$(LAYOUT_JAVAPKG))
40
EVENTLOG_JAVADIR = src/$(subst .,/,$(EVENTLOG_JAVAPKG))
41

  
42
OBJS = $O/nedxml.o $O/scave.o $O/layout.o $O/eventlog.o $O/common.o $O/jprogressmonitor.o
43
LIBS=-L$L -loppnedxml$D -loppscave$D -lopplayout$D -loppeventlog$D -loppcommon$D
44

  
45
ifeq ("$(JNI_LIB_SUFFIX)",".dll")
46
# on mingw we dont need the lib prefix for a JNI library
47
DLL = opplibs$(JNI_LIB_SUFFIX)
48
# the following is needed for building JNI lib with mingw (name mangling issue)
49
LDFLAGS+= -Wl,--kill-at
50
else
51
DLL = $(LIB_PREFIX)opplibs$(JNI_LIB_SUFFIX)
52
endif
53

  
54
# on MAC OS X we should strip only the non-public symbols
55
ifeq ("$(JNI_LIB_SUFFIX)",".jnilib")
56
STRIP_FLAGS=-x
57
endif
58

  
59
DLL_TARGET_DIR = ../org.omnetpp.ide.nativelibs.$(PLATFORM)
60

  
61
#
62
# Local definitions
63
#
64
INCLUDES=-I$(COMMON) -I$(NEDXML) -I$(SCAVE) -I$(LAYOUT) -I$(EVENTLOG) -I$(OMNETPP_INCL_DIR)/platdep
65
COPTS=$(CFLAGS) $(JAVA_CFLAGS) $(INCLUDES) -DTHREADED $(PTHREAD_CFLAGS) 
66

  
67
#
68
# Automatic rules
69
#
70
.SUFFIXES : .cc .cxx
71

  
72
$O/%.o: %.cc
73
	@mkdir -p $O
74
	$(CXX) -c $(COPTS) -o $@ $<
75

  
76
$O/%.o: %.cxx
77
	@mkdir -p $O
78
	$(CXX) -c $(COPTS) -o $@ $<
79

  
80
#
81
# Targets
82
#
83
all: $(JNILIBS_IF_POSSIBLE)
84

  
85
jnilibs: $O/$(DLL) $(DLL_TARGET_DIR)/$(DLL)
86

  
87
common.cxx : common.i
88
	-rm -f $(COMMON_JAVADIR)/*.java
89
	-mkdir -p $(COMMON_JAVADIR)
90
	$(SWIG) -c++ -java $(INCLUDES) -package $(COMMON_JAVAPKG) -outdir $(COMMON_JAVADIR) -o $@ $<
91

  
92
nedxml.cxx : nedxml.i
93
	-rm -f $(NEDXML_JAVADIR)/*.java
94
	-mkdir -p $(NEDXML_JAVADIR)
95
	$(SWIG) -c++ -java $(INCLUDES) -package $(NEDXML_JAVAPKG) -outdir $(NEDXML_JAVADIR) -o $@ $<
96

  
97
scave.cxx : scave.i idlist.i
98
	-rm -f $(SCAVE_JAVADIR)/*.java
99
	-mkdir -p $(SCAVE_JAVADIR)
100
	$(SWIG) -c++ -java $(INCLUDES) -package $(SCAVE_JAVAPKG) -outdir $(SCAVE_JAVADIR) -o $@ scave.i
101

  
102
layout.cxx : layout.i
103
	-rm -f $(LAYOUT_JAVADIR)/*.java
104
	-mkdir -p $(LAYOUT_JAVADIR)
105
	$(SWIG) -c++ -java $(INCLUDES) -package $(LAYOUT_JAVAPKG) -outdir $(LAYOUT_JAVADIR) -o $@ $<
106

  
107
eventlog.cxx : eventlog.i
108
	-rm -f $(EVENTLOG_JAVADIR)/*.java
109
	-mkdir -p $(EVENTLOG_JAVADIR)
110
	$(SWIG) -c++ -java $(INCLUDES) -package $(EVENTLOG_JAVAPKG) -outdir $(EVENTLOG_JAVADIR) -o $@ $<
111

  
112
$O/$(DLL): $(OBJS)
113
	$(SHLIB_LD) $(LDFLAGS) -o $O/$(DLL) $(OBJS) $(LIBS) $(PTHREAD_LIBS)
114
	$(STRIP) $(STRIP_FLAGS) $O/$(DLL)
115

  
116
$(DLL_TARGET_DIR)/$(DLL): $O/$(DLL)
117
	cp $O/$(DLL) $(DLL_TARGET_DIR)
118

  
119

  
120
missing-dependency:
121
	@echo '  *** Missing required dependency -- skipping build of UI support library.'
122
	@echo '  *** Install missing packages (probably SWIG and/or JDK), then run ./configure again.'
123

  
124
depend:
125
	$(MAKEDEPEND) $(INCLUDES) -fMakefile -- *.cxx *.cc
126

  
127
clean:
128
	-rm -f *.cxx *.o *.a *.so $(DLL_TARGET_DIR)/$(DLL)
129
	-rm -rf $(COMMON_JAVADIR) $(NEDXML_JAVADIR) $(SCAVE_JAVADIR) $(LAYOUT_JAVADIR) $(EVENTLOG_JAVADIR)
130

  
131
# DO NOT DELETE THIS LINE -- make depend depends on it.
132

  
ide/org.omnetpp.ide.nativelibs/Makefile.vc
1
#
2
# Global definitions
3
#
4
!include ..\..\configuser.vc
5

  
6
# Make sure that output locations are set
7
!if "$(OMNETPP_BIN_DIR)"==""
8
!error OMNETPP_BIN_DIR must be correctly set
9
!endif
10
!if "$(OMNETPP_OUT_DIR)"==""
11
!error OMNETPP_OUT_DIR must be correctly set
12
!endif
13
!if "$(OMNETPP_LIB_DIR)"==""
14
!error OMNETPP_LIB_DIR must be correctly set
15
!endif
16

  
17
# Make sure that we are linking statically
18
!if "$(LIB_SUFFIX)"!=".lib"
19
!error The UI library is supported only with static linking. Please build with "nmake SHARED_LIBS=no ..."
20
!endif
21

  
22
L=$(OMNETPP_LIB_DIR)/$(TOOLCHAIN_NAME)
23
O=$(OMNETPP_OUT_DIR)/$(TOOLCHAIN_NAME)-$(MODE)/ui
24

  
25
JDK="$(TOOLS_DIR)\jdk1.5.0"
26
SWIG="$(TOOLS_DIR)\SWIGWIN-1.3.31\swig.exe"
27

  
28
COMMON=$(OMNETPP_ROOT)\src\common
29
NEDXML=$(OMNETPP_ROOT)\src\nedxml
30
SCAVE=$(OMNETPP_ROOT)\src\scave
31
LAYOUT=$(OMNETPP_ROOT)\src\layout
32
EVENTLOG=$(OMNETPP_ROOT)\src\eventlog
33

  
34
COMMON_JAVAPKG = org.omnetpp.common.engine
35
NEDXML_JAVAPKG = org.omnetpp.ned.engine
36
SCAVE_JAVAPKG = org.omnetpp.scave.engine
37
LAYOUT_JAVAPKG = org.omnetpp.layout.engine
38
EVENTLOG_JAVAPKG = org.omnetpp.eventlog.engine
39

  
40
COMMON_JAVADIR = src\$(COMMON_JAVAPKG:.=\)
41
NEDXML_JAVADIR = src\$(NEDXML_JAVAPKG:.=\)
42
SCAVE_JAVADIR = src\$(SCAVE_JAVAPKG:.=\)
43
LAYOUT_JAVADIR = src\$(LAYOUT_JAVAPKG:.=\)
44
EVENTLOG_JAVADIR = src\$(EVENTLOG_JAVAPKG:.=\)
45

  
46
OBJS = $O/common.obj $O/nedxml.obj $O/scave.obj $O/layout.obj $O/eventlog.obj $O/jprogressmonitor.obj
47
LIBS=$L/oppcommon$D.lib $L/oppnedxml$D.lib $L/oppscave$D.lib $L/opplayout$D.lib $L/oppeventlog$D.lib
48

  
49
DLL = opplibs.dll
50
DLL_TARGET_DIR = ..\org.omnetpp.ide.nativelibs.win32.x86
51

  
52

  
53
#
54
# Local definitions
55
#
56
INCLUDES=-I$(COMMON) -I$(NEDXML) -I$(SCAVE) -I$(LAYOUT) -I$(EVENTLOG) -I$(OMNETPP_INCL_DIR)/platdep 
57
COPTS=$(CFLAGS) -I$(JDK)\include -I$(JDK)\include\win32 $(INCLUDES) -DTHREADED $(PTHREAD_CFLAGS)
58
SWIGOPTS=$(SWIGFLAGS) $(INCLUDES)
59

  
60
#
61
# Automatic rules
62
#
63
.SUFFIXES : .cc .cxx
64

  
65
{.}.cc{$O}.obj:
66
	$(CXX) /Fo"$@" $(COPTS) /c /Tp $<
67

  
68
{.}.cxx{$O}.obj:
69
	$(CXX) /Fo"$@" $(COPTS) /c /Tp $<
70

  
71
#
72
# Targets. NOTE: cmd.exe "Command Extensions" must be enabled for "mkdir" commands to work!
73
#
74
all: $(JNILIBS_IF_POSSIBLE)
75

  
76
jnilibs: $O/$(DLL) $(DLL_TARGET_DIR)/$(DLL)
77

  
78
common.cxx : common.i
79
	-del $(COMMON_JAVADIR)\*.java >nul
80
	-mkdir $(COMMON_JAVADIR) >nul
81
	$(SWIG) -c++ -java $(SWIGOPTS) -package $(COMMON_JAVAPKG) -outdir $(COMMON_JAVADIR) -o $@ $**
82

  
83
nedxml.cxx : nedxml.i
84
	-del $(NEDXML_JAVADIR)\*.java >nul
85
	-mkdir $(NEDXML_JAVADIR) >nul
86
	$(SWIG) -c++ -java $(SWIGOPTS) -package $(NEDXML_JAVAPKG) -outdir $(NEDXML_JAVADIR) -o $@ $**
87

  
88
scave.cxx : scave.i idlist.i
89
	-del $(SCAVE_JAVADIR)\*.java >nul
90
	-mkdir $(SCAVE_JAVADIR) >nul
91
	$(SWIG) -c++ -java $(SWIGOPTS) -package $(SCAVE_JAVAPKG) -outdir $(SCAVE_JAVADIR) -o $@ scave.i
92

  
93
layout.cxx : layout.i
94
	-del $(LAYOUT_JAVADIR)\*.java >nul
95
	-mkdir $(LAYOUT_JAVADIR) >nul
96
	$(SWIG) -c++ -java $(SWIGOPTS) -package $(LAYOUT_JAVAPKG) -outdir $(LAYOUT_JAVADIR) -o $@ $**
97

  
98
eventlog.cxx : eventlog.i
99
	-del $(EVENTLOG_JAVADIR)\*.java >nul
100
	-mkdir $(EVENTLOG_JAVADIR) >nul
101
	$(SWIG) -c++ -java $(SWIGOPTS) -package $(EVENTLOG_JAVAPKG) -outdir $(EVENTLOG_JAVADIR) -o $@ $**
102

  
103
$O/$(DLL): $(OBJS) $(LIBS)
104
	$(LINK) /dll /out:$(O:/=\)\$(DLL) $(OBJS) $(LIBS) $(PTHREAD_LIBS) $(LDFLAGS)
105

  
106
$(DLL_TARGET_DIR)/$(DLL): $O/$(DLL)
107
!if "$(LIB_SUFFIX)"==".lib"
108
	copy $(O:/=\)\$(DLL) $(DLL_TARGET_DIR)
109
	- copy /b $(O:/=\)\$(DLL).manifest $(DLL_TARGET_DIR)
110
!endif
111

  
112
$(OBJS): $O
113

  
114
$O $L:
115
	md $(@:/=\)
116

  
117

  
118
missing-dependency:
119
	@echo '  *** Missing required dependency -- skipping build of UI support library.'
120
	@echo '  *** Install missing packages (probably SWIG and/or JDK), and edit configuser.vc.'
121

  
122
depend:
123
	$(MAKEDEPEND) $(INCLUDES) -fMakefile.vc -- *.cxx *.cc
124

  
125
clean:
126
	-del *.cxx  2>nul
127
	-rmdir /s /q $(O:/=\) 2>nul
128

  
129
# DO NOT DELETE THIS LINE -- make depend depends on it.
130

  
ide/org.omnetpp.ide.nativelibs/bigdecimal.i
1

  
2
/*--------------------------------------------------------------------------
3
 * use JAVA_MATH_BIGDECIMAL() if you want to map BigDecimals
4
 *                            to java.math.BigDecimal
5
 * WARN: be sure that BigDecimal does not contain NaN/Infinity, because they
6
 *       cannot be mapped to java.math.BigDecimal. (Nil is mapped to null)
7
 * *** THIS IS CURRENTLY UNUSED, WE USE OUR OWN BigDecimal CLASS INSTEAD ***
8
 *--------------------------------------------------------------------------*/
9
%define JAVA_MATH_BIGDECIMAL()
10
%typemap(jni) BigDecimal "jobject";
11
%typemap(jtype) BigDecimal "java.math.BigDecimal";
12
%typemap(jstype) BigDecimal "java.math.BigDecimal";
13
%typemap(javain) BigDecimal "$javainput";
14
%typemap(javaout) BigDecimal {
15
   return $jnicall;
16
}
17

  
18
%typemap(in) BigDecimal {
19
   if ($input)
20
   {
21
      jclass cl = jenv->FindClass("java/math/BigDecimal");
22
      jmethodID methodID = jenv->GetMethodID(cl, "toPlainString", "()Ljava/lang/String;");
23
      jstring javaString = (jstring)jenv->CallObjectMethod($input, methodID);
24
      const char *chars = jenv->GetStringUTFChars(javaString, 0);
25
      $1 = BigDecimal::parse(chars);
26
      jenv->ReleaseStringUTFChars(javaString, chars);
27
   }
28
   else
29
   {
30
      $1 = BigDecimal::Nil;
31
   }
32
}
33

  
34
%typemap(out) BigDecimal {
35
   if ($1.isNil())
36
   {
37
      $result = NULL;
38
   }
39
   else
40
   {
41
      jclass cl = jenv->FindClass("java/math/BigDecimal");
42
      jmethodID methodId = jenv->GetMethodID(cl, "<init>", "(Ljava/lang/String;)V");
43
      $result = (jenv->NewObject(cl, methodId, jenv->NewStringUTF($1.str().c_str())));
44
   }
45
}
46
%enddef // JAVA_MATH_BIGDECIMAL
47

  
48

  
49
/*--------------------------------------------------------------------------
50
 * use COMMON_ENGINE_BIGDECIMAL() if you want to map BigDecimals
51
 *                                to org.omnetpp.common.engine.BigDecimal
52
 * The C++ objects are wrapped by the java object, but BigDecimal::Nil
53
 * mapped to null.
54
 *--------------------------------------------------------------------------*/
55
%define COMMON_ENGINE_BIGDECIMAL()
56
class BigDecimal;
57
%typemap(jstype) BigDecimal "org.omnetpp.common.engine.BigDecimal";
58
%typemap(javain) BigDecimal "org.omnetpp.common.engine.BigDecimal.getCPtr($javainput)"
59
%typemap(javaout) BigDecimal {
60
    long cPtr = $jnicall;
61
    return (cPtr == 0) ? null : new org.omnetpp.common.engine.BigDecimal(cPtr, true);
62
}
63
%typemap(in) BigDecimal ($&1_type argp) %{
64
   argp = *($&1_ltype*)(void *)&$input;
65
   if (!argp) {
66
      $1 = BigDecimal::Nil;
67
   }
68
   else {
69
      $1 = *argp;
70
   }
71
%}
72

  
73
%typemap(out) BigDecimal %{
74
   if ($1.isNil())
75
   {
76
      $result = 0;
77
   }
78
   else
79
   {
80
      {*($&1_ltype*)(void *)&$result = new $1_ltype(($1_ltype &)$1); }
81
   }
82
%}
83

  
84
%typemap(jstype) BigDecimal* "org.omnetpp.common.engine.BigDecimal";
85
%typemap(javain) BigDecimal* "org.omnetpp.common.engine.BigDecimal.getCPtr($javainput)"
86
%typemap(javaout) BigDecimal* {
87
    long cPtr = $jnicall;
88
    return (cPtr == 0) ? null : new org.omnetpp.common.engine.BigDecimal(cPtr, $owner);
89
}
90
%typemap(in) BigDecimal* %{
91
   if (!$input) {
92
      $1 = &BigDecimal::Nil;
93
   }
94
   else {
95
      $1 = *($1_ltype*)(void*)&$input;
96
   }
97
%}
98
%typemap(out) BigDecimal* %{
99
   if (!$1 || $1->isNil())
100
   {
101
      $result = 0;
102
   }
103
   else
104
   {
105
      *($1_ltype*)(void *)&$result = $1;
106
   }
107
%}
108

  
109
%typemap(jstype) BigDecimal& "org.omnetpp.common.engine.BigDecimal";
110
%typemap(javain) BigDecimal& "org.omnetpp.common.engine.BigDecimal.getCPtr($javainput)"
111
%typemap(javaout) BigDecimal& {
112
    long cPtr = $jnicall;
113
    return (cPtr == 0) ? null : new org.omnetpp.common.engine.BigDecimal(cPtr, false);
114
}
115
%typemap(in) BigDecimal& %{
116
   if (!$input) {
117
      $1 = ($1_ltype)(void *)&BigDecimal::Nil;
118
   }
119
   else {
120
      $1 = *($1_ltype*)(void *)&$input;
121
   }
122
%}
123
%typemap(out) BigDecimal& %{
124
   if ($1->isNil())
125
   {
126
      $result = 0;
127
   }
128
   else
129
   {
130
      {*($1_ltype*)(void *)&$result = $1; }
131
   }
132
%}
133
%enddef // COMMON_ENGINE_BIGDECIMAL
ide/org.omnetpp.ide.nativelibs/build.properties
1
source.. = src/
2
output.. = bin/
3
bin.includes = META-INF/,\
4
               .
5
src.includes = std_vector.i,\
6
               std_set.i,\
7
               std_list.i,\
8
               stacktrace.i,\
9
               scave.i,\
10
               scave.cxx,\
11
               scave-plove.i,\
12
               nedxml.i,\
13
               nedxml.cxx,\
14
               loadlib.i,\
15
               layout.i,\
16
               layout.cxx,\
17
               jprogressmonitor.h,\
18
               jprogressmonitor.cc,\
19
               eventlog.i,\
20
               eventlog.cxx,\
21
               commondefs.i,\
22
               common.i,\
23
               common.cxx
ide/org.omnetpp.ide.nativelibs/common.i
1
%module Common
2

  
3
// covariant return type warning disabled
4
#pragma SWIG nowarn=822
5

  
6
%{
7
#include "stringutil.h"
8
#include "patternmatcher.h"
9
#include "unitconversion.h"
10
#include "bigdecimal.h"
11
#include "rwlock.h"
12
%}
13

  
14
%include "commondefs.i"
15
%include "loadlib.i"
16
%include "std_string.i"
17
%include "std_vector.i"
18

  
19
namespace std {
20
   %template(StringVector) vector<string>;
21
   %template(PStringVector) vector<const char *>;
22
}
23

  
24
#define THREADED
25

  
26
// hide export/import macros from swig
27
#define COMMON_API
28
#define OPP_DLLEXPORT
29
#define OPP_DLLIMPORT
30

  
31
#define NAMESPACE_BEGIN
32
#define NAMESPACE_END
33
#define USING_NAMESPACE
34

  
35
%rename(parseQuotedString)   ::opp_parsequotedstr;
36
%rename(quoteString)         ::opp_quotestr;
37
%rename(needsQuotes)         ::opp_needsquotes;
38
%rename(quoteStringIfNeeded) ::opp_quotestr_ifneeded;
39

  
40
std::string opp_parsequotedstr(const char *txt);
41
std::string opp_quotestr(const char *txt);
42
bool opp_needsquotes(const char *txt);
43
std::string opp_quotestr_ifneeded(const char *txt);
44
int strdictcmp(const char *s1, const char *s2);
45

  
46
%ignore UnitConversion::parseQuantity(const char *, std::string&);
47

  
48
%include "patternmatcher.h"
49
%include "unitconversion.h"
50

  
51

  
52
/* -------------------- BigDecimal -------------------------- */
53

  
54

  
55
%ignore _I64_MAX_DIGITS;
56
%ignore BigDecimal::BigDecimal();
57
%ignore BigDecimal::str(char*);
58
%ignore BigDecimal::parse(const char*,const char*&);
59
%ignore BigDecimal::ttoa;
60
%ignore BigDecimal::Nil;
61
%ignore BigDecimal::isNil;
62
%ignore BigDecimal::operator=;
63
%ignore BigDecimal::operator+=;
64
%ignore BigDecimal::operator-=;
65
%ignore BigDecimal::operator*=;
66
%ignore BigDecimal::operator/=;
67
%ignore BigDecimal::operator!=;
68
%ignore operator+;
69
%ignore operator-;
70
%ignore operator*;
71
%ignore operator/;
72
%ignore operator<<;
73
%immutable BigDecimal::Zero;
74
%immutable BigDecimal::NaN;
75
%immutable BigDecimal::PositiveInfinity;
76
%immutable BigDecimal::NegativeInfinity;
77
%rename(equals) BigDecimal::operator==;
78
%rename(less) BigDecimal::operator<;
79
%rename(greater) BigDecimal::operator>;
80
%rename(lessOrEqual) BigDecimal::operator<=;
81
%rename(greaterOrEqual) BigDecimal::operator>=;
82
%rename(toString) BigDecimal::str;
83
%rename(doubleValue) BigDecimal::dbl;
84

  
85
%extend BigDecimal {
86
   const BigDecimal add(const BigDecimal& x) {return *self + x;}
87
   const BigDecimal subtract(const BigDecimal& x) {return *self - x;}
88
}
89

  
90
SWIG_JAVABODY_METHODS(public, public, BigDecimal)
91

  
92
%typemap(javacode) BigDecimal %{
93
    public boolean equals(Object other) {
94
       return other instanceof BigDecimal && equals((BigDecimal)other);
95
    }
96

  
97
    public int hashCode() {
98
       return (int)getIntValue();
99
    }
100

  
101
    public java.math.BigDecimal toBigDecimal() {
102
       long intVal = getIntValue();
103
       int scale = getScale();
104
       java.math.BigDecimal d = new java.math.BigDecimal(intVal);
105
       return (scale == 0 ? d : d.movePointRight(scale));
106
    }
107
%}
108

  
109
%include "bigdecimal.h"
110

  
111

  
112
/* -------------------- rwlock.h -------------------------- */
113
%ignore ReaderMutex;
114
%ignore WriterMutex;
115
SWIG_JAVABODY_METHODS(public, public, ILock)
116

  
117
%include "rwlock.h"
ide/org.omnetpp.ide.nativelibs/commondefs.i
1
%{
2
#include "bigdecimal.h"
3
#include "jprogressmonitor.h"
4
%}
5

  
6
%exception {
7
    try {
8
        $action
9
    } catch (std::exception& e) {
10
        SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, const_cast<char*>(e.what()));
11
        return $null;
12
    }
13
}
14

  
15
/*--------------------------------------------------------------------------
16
 * int32 <--> int mapping
17
 *--------------------------------------------------------------------------*/
18
%include "intxtypes.h"
19

  
20
%typemap(jni)    int32_t "jint"
21
%typemap(jtype)  int32_t "int"
22
%typemap(jstype) int32_t "int"
23
%typemap(javain) int32_t "$javainput"
24
%typemap(javaout) int32_t {
25
   return $jnicall;
26
}
27

  
28
/*--------------------------------------------------------------------------
29
 * int64 <--> long mapping
30
 *--------------------------------------------------------------------------*/
31
%typemap(jni)    int64_t "jlong"
32
%typemap(jtype)  int64_t "long"
33
%typemap(jstype) int64_t "long"
34
%typemap(javain) int64_t "$javainput"
35
%typemap(javaout) int64_t {
36
   return $jnicall;
37
}
38

  
39
/*--------------------------------------------------------------------------
40
 * IProgressMonitor
41
 *--------------------------------------------------------------------------*/
42
%typemap(jni)    IProgressMonitor * "jobject"
43
%typemap(jtype)  IProgressMonitor * "org.eclipse.core.runtime.IProgressMonitor"
44
%typemap(jstype) IProgressMonitor * "org.eclipse.core.runtime.IProgressMonitor"
45
%typemap(javain) IProgressMonitor * "$javainput"
46
%typemap(in) IProgressMonitor * (JniProgressMonitor jProgressMonitor) {
47
   if ($input)
48
   {
49
      jProgressMonitor = JniProgressMonitor($input, jenv);
50
      $1 = &jProgressMonitor;
51
   }
52
   else
53
   {
54
      $1 = NULL;
55
   }
56
}
57

  
58
/*
59
 * Macro to add equals() and hashCode() to generated Java classes
60
 */
61
%define ADD_CPTR_EQUALS_AND_HASHCODE(CLASS)
62
%typemap(javacode) CLASS %{
63
  public boolean equals(Object obj) {
64
    if (this == obj)
65
      return true;
66
    if (obj == null || this.getClass() != obj.getClass())
67
      return false;
68
    return getCPtr(this) == getCPtr((CLASS)obj);
69
  }
70

  
71
  public int hashCode() {
72
    return (int)getCPtr(this);
73
  }
74
%}
75
%enddef
76

  
77
/*
78
 * ILock
79
 */
80
%define USE_COMMON_ENGINE_ILOCK()
81
class ILock;
82
%typemap(jstype) ILock "org.omnetpp.common.engine.ILock";
83
%typemap(javaout) ILock {
84
    long cPtr = $jnicall;
85
    return (cPtr == 0) ? null : new org.omnetpp.common.engine.ILock(cPtr, $owner);
86
}
87

  
88
%typemap(jstype) ILock* "org.omnetpp.common.engine.ILock";
89
%typemap(javaout) ILock* {
90
    long cPtr = $jnicall;
91
    return (cPtr == 0) ? null : new org.omnetpp.common.engine.ILock(cPtr, $owner);
92
}
93

  
94
%typemap(jstype) ILock& "org.omnetpp.common.engine.ILock";
95
%typemap(javaout) ILock& {
96
    long cPtr = $jnicall;
97
    return (cPtr == 0) ? null : new org.omnetpp.common.engine.ILock(cPtr, $owner);
98
}
99

  
100
%enddef
ide/org.omnetpp.ide.nativelibs/eventlog.i
1
%module EventLogEngine
2

  
3
// covariant return type warning disabled
4
#pragma SWIG nowarn=822
5

  
6
%include "loadlib.i"
7
%include "enumtypeunsafe.swg"
8
%include "commondefs.i"
9
%include "bigdecimal.i"
10
%include "stacktrace.i"
11
%javaconst(1);
12

  
13
COMMON_ENGINE_BIGDECIMAL();
14

  
15
%{
16
#include "ievent.h"
17
#include "ieventlog.h"
18
#include "event.h"
19
#include "filteredevent.h"
20
#include "messagedependency.h"
21
#include "eventlogentry.h"
22
#include "eventlogentries.h"
23
#include "eventlogindex.h"
24
#include "eventlog.h"
25
#include "eventlogfacade.h"
26
#include "eventlogtablefacade.h"
27
#include "sequencechartfacade.h"
28
#include "filteredeventlog.h"
29
#include "filereader.h"
30
%}
31

  
32
// hide export/import macros from swig
33
#define COMMON_API
34
#define EVENTLOG_API
35
#define OPP_DLLEXPORT
36
#define OPP_DLLIMPORT
37

  
38
#define NAMESPACE_BEGIN
39
#define NAMESPACE_END
40
#define USING_NAMESPACE
41

  
42
%include "intxtypes.h"
43
%include "eventlogdefs.h"
44

  
45
/*--------------------------------------------------------------------------
46
 * ptr_t <--> long mapping
47
 *--------------------------------------------------------------------------*/
48

  
49
%typemap(jni)    ptr_t "jlong"
50
%typemap(jtype)  ptr_t "long"
51
%typemap(jstype) ptr_t "long"
52
%typemap(javain) ptr_t "$javainput"
53
%typemap(javaout) ptr_t {
54
   return $jnicall;
55
}
56

  
57
%include "std_common.i"
58
%include "std_string.i"
59
%include "std_set.i"     // our custom version
60
%include "std_list.i"    // our custom version
61
%include "std_vector.i"
62
%include "std_map.i"
63

  
64
namespace std {
65

  
66
   %typemap(javacode) vector<string> %{
67
       public String[] toArray() {
68
           int sz = (int) size();
69
           String[] array = new String[sz];
70
              for (int i=0; i<sz; i++)
71
               array[i] = get(i);
72
           return array;
73
       }
74
       public static StringVector fromArray(String[] array) {
75
           StringVector vector = new StringVector();
76
           for (int i=0; i<array.length; i++)
77
               vector.add(array[i]);
78
           return vector;
79
       }
80
   %}
81

  
82
   %typemap(javacode) set<int> %{
83
       public IntSet(boolean cMemoryOwn) {
84
           this(EventLogEngineJNI.new_IntSet__SWIG_0(), cMemoryOwn);
85
       }
86
   %}
87

  
88
   %extend set<const char *> {
89
       std::vector<const char *> keys() {
90
           std::vector<const char *> vec;
91
           vec.reserve(self->size());
92
           for (std::set<const char *>::iterator it = self->begin(); it!=self->end(); it++)
93
               vec.push_back(*it);
94
           return vec;
95
       }
96
   }
97

  
98
   %extend set<string> {
99
       std::vector<std::string> keys() {
100
           std::vector<std::string> vec;
101
           vec.reserve(self->size());
102
           for (std::set<std::string>::iterator it = self->begin(); it!=self->end(); it++)
103
               vec.push_back(*it);
104
           return vec;
105
       }
106
   }
107

  
108
   %extend map<string,string> {
109
       std::vector<std::string> keys() {
110
           std::vector<std::string> vec;
111
           vec.reserve(self->size());
112
           for (std::map<std::string,std::string>::iterator it = self->begin(); it!=self->end(); it++)
113
               vec.push_back(it->first);
114
           return vec;
115
       }
116
   }
117

  
118
   %template(PStringSet) set<const char *>;
119
   %template(StringSet) set<string>;
120
   %template(StringVector) vector<string>;
121
   %template(PStringVector) vector<const char *>;
122

  
123
   //specialize_std_map_on_both(string,,,,string,,,);
124
   //%template(StringMap) map<string,string>;
125

  
126
   %template(ModuleCreatedEntryList) vector<ModuleCreatedEntry*>;
127
   %template(IMessageDependencyList) vector<IMessageDependency*>;
128
   %template(MessageDependencyList) vector<MessageDependency*>;
129
   %template(FilteredMessageDependencyList) vector<FilteredMessageDependency*>;
130

  
131
   %template(IntSet) set<int>;
132
   %template(PtrSet) set<ptr_t>;
133

  
134
   specialize_std_map_on_both(int,,,,int,,,);
135
   %template(IntIntMap) map<int,int>;
136

  
137
   %template(IntVector) vector<int>;
138
   %template(LongVector) vector<long>;
139
   %template(PtrVector) vector<ptr_t>;
140
};
141

  
142
%ignore EventLog::writeTrace;
143

  
144
%define FIX_STRING_MEMBER(STRUCT,MEMBER,CAPITALIZEDMEMBER)
145
%ignore STRUCT::MEMBER;
146
%extend STRUCT {
147
   std::string get ## CAPITALIZEDMEMBER() {return self->MEMBER;}
148
   void set ## CAPITALIZEDMEMBER(std::string __a) {self->MEMBER = __a;}
149
}
150
%enddef
151

  
152
%define FIX_CHARPTR_MEMBER(STRUCT,MEMBER,CAPITALIZEDMEMBER)
153
%ignore STRUCT::MEMBER;
154
%extend STRUCT {
155
   const char * get ## CAPITALIZEDMEMBER() {return self->MEMBER;}
156
}
157
%enddef
158

  
159
%{
160
   JNIEnv *progressDelegateJenv;
161

  
162
   std::string fromJavaString(JNIEnv *jenv, jstring stringObject)
163
   {
164
      if (!stringObject)
165
        return "<null>";
166
      jboolean isCopy;
167
      const char *buf = jenv->GetStringUTFChars(stringObject, &isCopy);
168
      std::string str = buf ? buf : "";
169
      jenv->ReleaseStringUTFChars(stringObject, buf);
170
      return str;
171
   }
172

  
173
   void delegateProgressToJava(IEventLog *eventLog, void *data)
174
   {
175
      JNIEnv *jenv = progressDelegateJenv;
176
      jobject object = (jobject)data;
177
      jclass clazz = jenv->GetObjectClass(object);
178
      jmethodID progressMethod = jenv->GetMethodID(clazz, "progress", "()V");
179
      jenv->ExceptionClear();
180
      jenv->CallVoidMethod(object, progressMethod);
181

  
182
       jthrowable exceptionObject = jenv->ExceptionOccurred();
183
       if (exceptionObject)
184
       {
185
          jenv->ExceptionDescribe();
186
          jenv->ExceptionClear();
187

  
188
          jclass throwableClass = jenv->GetObjectClass(exceptionObject);
189
          jmethodID method = jenv->GetMethodID(throwableClass, "toString", "()Ljava/lang/String;");
190
          jstring msg = (jstring)jenv->CallObjectMethod(exceptionObject, method);
191
          throw opp_runtime_error(fromJavaString(jenv, msg).c_str());
192
      }
193
   }
194
%}
195

  
196
%extend IEventLog {
197
   void setJavaProgressMonitor(JNIEnv *jenv, jobject object) {
198
      progressDelegateJenv = jenv;
199
      ProgressMonitor newProgressMonitor(object ? &delegateProgressToJava : NULL, object ? jenv->NewGlobalRef(object) : NULL);
200
      ProgressMonitor oldProgressMonitor = self->setProgressMonitor(newProgressMonitor);
201
      jobject oldObject = (jobject)oldProgressMonitor.data;
202
      if (oldObject)
203
         jenv->DeleteGlobalRef(oldObject);
204
   }
205
}
206

  
207
%typemap(in) JNIEnv * {
208
  $1 = jenv;
209
}
210

  
211
%typemap(javaout) EventLogEntry * {
212
   return EventLogEntry.newEventLogEntry($jnicall, $owner);
213
}
214

  
215
%typemap(javaimports) EventLogEntry %{
216
import java.lang.reflect.Constructor;
217
%}
218

  
219
%typemap(javacode) EventLogEntry %{
220

  
221
   @SuppressWarnings("unchecked")
222
   private static Constructor[] eventLogEntryConstructors = new Constructor[100];
223

  
224
   public long getCPtr() {
225
      return swigCPtr;
226
   }
227

  
228
   public boolean equals(Object obj) {
229
      return (obj instanceof EventLogEntry) && getCPtr(this)==getCPtr((EventLogEntry)obj);
230
   }
231

  
232
   public int hashCode() {
233
      return (int)getCPtr(this);
234
   }
235

  
236
   @SuppressWarnings("unchecked")
237
   public static EventLogEntry newEventLogEntry(long cPtr, boolean isOwner) {
238
      try {
239
         if (cPtr == 0)
240
            return null;
241

  
242
         int index = EventLogEngineJNI.EventLogEntry_getClassIndex(cPtr, null);
243
         Constructor constructor = eventLogEntryConstructors[index];
244

  
245
         if (constructor == null)
246
         {
247
            String name = "org.omnetpp.eventlog.engine." + EventLogEngineJNI.EventLogEntry_getClassName(cPtr, null);
248
            Class clazz = Class.forName(name);
249
            constructor = clazz.getDeclaredConstructor(long.class, boolean.class);
250
            eventLogEntryConstructors[index] = constructor;
251
         }
252

  
253
         return (EventLogEntry)constructor.newInstance(cPtr, isOwner);
254
      }
255
      catch (Exception e) {
256
         throw new RuntimeException(e);
257
      }
258
   }
259
%}
260

  
261
%typemap(javaout) IMessageDependency * {
262
   return IMessageDependency.newIMessageDependency($jnicall, $owner);
263
}
264

  
265
%typemap(javaimports) IMessageDependency %{
266
import java.lang.reflect.Constructor;
267
%}
268

  
269
%typemap(javacode) IMessageDependency %{
270

  
271
   @SuppressWarnings("unchecked")
272
   private static Constructor[] messageDependencyConstructors = new Constructor[100];
273

  
274
   public long getCPtr() {
275
       return swigCPtr;
276
   }
277

  
278
   public boolean equals(Object obj) {
279
      return (obj instanceof IMessageDependency) && getCPtr(this)==getCPtr((IMessageDependency)obj);
280
   }
281

  
282
   public int hashCode() {
283
      return (int)getCPtr(this);
284
   }
285

  
286
   @SuppressWarnings("unchecked")
287
   public static IMessageDependency newIMessageDependency(long cPtr, boolean isOwner) {
288
      try {
289
         if (cPtr == 0)
290
            return null;
291

  
292
         int index = EventLogEngineJNI.IMessageDependency_getClassIndex(cPtr, null);
293
         Constructor constructor = messageDependencyConstructors[index];
294

  
295
         if (constructor == null)
296
         {
297
            String name = "org.omnetpp.eventlog.engine." + EventLogEngineJNI.IMessageDependency_getClassName(cPtr, null);
298
            Class clazz = Class.forName(name);
299
            constructor = clazz.getDeclaredConstructor(long.class, boolean.class);
300
            messageDependencyConstructors[index] = constructor;
301
         }
302

  
303
         return (IMessageDependency)constructor.newInstance(cPtr, isOwner);
304
      }
305
      catch (Exception e) {
306
         throw new RuntimeException(e);
307
      }
308
   }
309
%}
310

  
311
%typemap(javacode) IEventLog %{
312
    public IEventLog own() {
313
        swigCMemOwn = true;
314
        return this;
315
    }
316

  
317
    public IEventLog disown() {
318
        swigCMemOwn = false;
319
        return this;
320
    }
321

  
322
    public boolean equals(Object obj) {
323
        return (obj instanceof IEventLog) && getCPtr(this)==getCPtr((IEventLog)obj);
324
    }
325
%}
326

  
327
%typemap(javacode) FileReader %{
328
    public FileReader(String fileName, boolean cMemoryOwn) {
329
        this(fileName);
330
        this.swigCMemOwn = cMemoryOwn;
331
    }
332
%}
333

  
334
%typemap(javacode) IEvent %{
335
    public long getCPtr() {
336
        return swigCPtr;
337
    }
338

  
339
    public boolean equals(Object obj) {
340
        return (obj instanceof IEvent) && getCPtr(this)==getCPtr((IEvent)obj);
341
    }
342
%}
343

  
344
%newobject SequenceChartFacade::getModuleMethodBeginEntries;
345
%newobject SequenceChartFacade::getIntersectingMessageDependencies;
346

  
347
%ignore eventLogStringPool;
348
%ignore FILE;
349
%ignore *::parse;
350
%ignore *::print(FILE *);
351
%ignore *::print(FILE *, bool);
352
%ignore *::print(FILE *, long);
353
%ignore *::print(FILE *, long, long);
354
%ignore *::print(FILE *, long, long, bool);
355
%ignore *::print(FILE *, long, long, bool, bool);
356
%ignore *::printInitializationLogEntries(FILE *);
357
%ignore *::printEvents(FILE *);
358
%ignore *::printEvents(FILE *, long);
359
%ignore *::printEvents(FILE *, long, long);
360
%ignore *::printEvents(FILE *, long, long, bool);
361
%ignore *::printCause(FILE *);
362
%ignore *::printConsequence(FILE *);
363
%ignore *::printMiddle(FILE *);
364

  
365
FIX_CHARPTR_MEMBER(EventLogMessageEntry, text, Text);
366
FIX_CHARPTR_MEMBER(SimulationBeginEntry, runId, RunId);
367
FIX_CHARPTR_MEMBER(BubbleEntry, text, Text);
368
FIX_CHARPTR_MEMBER(ModuleMethodBeginEntry, method, Method);
369
FIX_CHARPTR_MEMBER(ModuleCreatedEntry, moduleClassName, ModuleClassName);
370
FIX_CHARPTR_MEMBER(ModuleCreatedEntry, fullName, FullName);
371
FIX_CHARPTR_MEMBER(GateCreatedEntry, name, Name);
372
FIX_CHARPTR_MEMBER(ConnectionDisplayStringChangedEntry, displayString, DisplayString);
373
FIX_CHARPTR_MEMBER(ModuleDisplayStringChangedEntry, displayString, DisplayString);
374
FIX_CHARPTR_MEMBER(BeginSendEntry, messageClassName, MessageClassName);
375
FIX_CHARPTR_MEMBER(BeginSendEntry, messageFullName, MessageFullName);
376
FIX_CHARPTR_MEMBER(BeginSendEntry, detail, Detail);
377

  
378
%include "ievent.h"
379
%include "ieventlog.h"
380
%include "event.h"
381
%include "filteredevent.h"
382
%include "messagedependency.h"
383
%include "eventlogentry.h"
384
%include "eventlogentries.h"
385
%include "eventlogindex.h"
386
%include "eventlog.h"
387
%include "eventlogfacade.h"
388
%include "eventlogtablefacade.h"
389
%include "sequencechartfacade.h"
390
%include "filteredeventlog.h"
391
%include "filereader.h"
ide/org.omnetpp.ide.nativelibs/idlist.i
1
%ignore IDList::IDList(unsigned int);
2
%ignore IDList::IDList(const IDList&);
3

  
4
%ignore IDList::clear;
5
%ignore IDList::set(const IDList&);
6
%ignore IDList::erase;
7
%ignore IDList::dup;
8
%ignore IDList::sortByFileAndRun;
9
%ignore IDList::sortByRunAndFile;
10
%ignore IDList::getItemTypes;
11
%ignore IDList::reverse;
12
%ignore IDList::toByteArray;
13
%ignore IDList::fromByteArray;
14
%ignore IDList::getSubsetByIndeces;
15

  
16

  
17
%typemap(javaimports) IDList %{
18
import java.util.ArrayList;
19
import java.util.EventListener;
20
%}
21

  
22

  
23
%typemap(javacode) IDList %{
24

  
25
  public static interface IChangeListener extends EventListener {
26
	public void idlistChanged(IDList idlist);
27
  }
28

  
29
  private ArrayList<IChangeListener> listeners = new ArrayList<IChangeListener>();
30

  
31
  // TODO ensure that immutable
32
  public static final IDList EMPTY = new IDList();
33

  
34
  public void addListener(IChangeListener listener) {
35
  	listeners.add(listener);
36
  }
37

  
38
  public void removeListener(IChangeListener listener) {
39
  	listeners.remove(listener);
40
  }
41

  
42
  protected void notifyListeners() {
43
  	for (IChangeListener listener : listeners.toArray(new IChangeListener[listeners.size()]))
44
  		listener.idlistChanged(this);
45
  }
46

  
47
  public void swigDisown() {
48
      swigCMemOwn = false;
49
  }
50

  
51
  public static IDList fromArray(Long[] array) {
52
      IDList list = new IDList();
53
      for (int i=0; i<array.length; i++)
54
          list.add(array[i].longValue());
55
      return list;
56
  }
57

  
58
  public Long[] toArray() {
59
      int sz = (int) size();
60
      Long[] array = new Long[sz];
61
      for (int i=0; i<sz; i++)
62
          array[i] = Long.valueOf(get(i));
63
      return array;
64
  }
65
%}
66

  
67
%define ADD_NOTIFY(METHOD)
68
%typemap(javaout) void IDList::METHOD {
69
    $jnicall;
70
    notifyListeners();
71
  }
72
%enddef
73

  
74
ADD_NOTIFY(add);
75
ADD_NOTIFY(intersect);
76
ADD_NOTIFY(merge);
77
ADD_NOTIFY(substract);
78
ADD_NOTIFY(sortByDirectory);
79
ADD_NOTIFY(sortByFileName);
80
ADD_NOTIFY(sortByModule);
81
ADD_NOTIFY(sortByName);
82
ADD_NOTIFY(sortByRun);
83
ADD_NOTIFY(sortScalarsByValue);
84
ADD_NOTIFY(sortVectorsByLength);
85
ADD_NOTIFY(sortVectorsByMean);
86
ADD_NOTIFY(sortVectorsByStdDev);
87
ADD_NOTIFY(sortVectorsByVectorId);
88
ADD_NOTIFY(sortVectorsByMin);
89
ADD_NOTIFY(sortVectorsByMax);
90
ADD_NOTIFY(sortVectorsByStartTime);
91
ADD_NOTIFY(sortVectorsByEndTime);
92
ADD_NOTIFY(sortByRunAttribute);
93

  
94
%include "idlist.h"
ide/org.omnetpp.ide.nativelibs/jprogressmonitor.cc
1
//=========================================================================
2
//  JPROGRESSMONITOR.CC - part of
3
//                  OMNeT++/OMNEST
4
//           Discrete System Simulation in C++
5
//
6
//=========================================================================
7

  
8
/*--------------------------------------------------------------*
9
  Copyright (C) 1992-2005 Andras Varga
10

  
11
  This file is distributed WITHOUT ANY WARRANTY. See the file
12
  `license' for details on this and other legal matters.
13
*--------------------------------------------------------------*/
14

  
15
#include <jni.h>
16
#include "jprogressmonitor.h"
17

  
18
JniProgressMonitor::JniProgressMonitor(jobject jProgressMonitor, JNIEnv *env)
19
	: jProgressMonitor(jProgressMonitor), env(env)
20
{
21
	jclass clazz = env->FindClass("org/eclipse/core/runtime/IProgressMonitor");
22
	if (clazz) {
23
		this->beginTaskID = env->GetMethodID(clazz, "beginTask", "(Ljava/lang/String;I)V");
24
		this->doneID = env->GetMethodID(clazz, "done", "()V");
25
		this->isCanceledID = env->GetMethodID(clazz, "isCanceled", "()Z");
26
		this->setCanceledID = env->GetMethodID(clazz, "setCanceled", "(Z)V");
27
		this->subTaskID = env->GetMethodID(clazz, "subTask", "(Ljava/lang/String;)V");
28
		this->workedID = env->GetMethodID(clazz, "worked", "(I)V");
29
	}
30
	if (!beginTaskID || !doneID || !isCanceledID || ! setCanceledID || !subTaskID || !workedID)
31
		env = NULL;
32
}
33

  
34
JniProgressMonitor::~JniProgressMonitor()
35
{
36
}
37

  
38
void JniProgressMonitor::beginTask(std::string name, int totalWork)
39
{
40
	if (env)
41
	{
42
		jstring jname = env->NewStringUTF(name.c_str());
43
		env->CallVoidMethod(jProgressMonitor, beginTaskID, jname, (jint)totalWork);
44
	}
45
}
46

  
47
void JniProgressMonitor::done()
48
{
49
	if (env)
50
	{
51
		env->CallVoidMethod(jProgressMonitor, doneID);
52
	}
53
}
54

  
55
bool JniProgressMonitor::isCanceled()
56
{
57
	if (env)
58
	{
59
		return env->CallBooleanMethod(jProgressMonitor, isCanceledID);
60
	}
61
	return false;
62
}
63

  
64
void JniProgressMonitor::setCanceled(bool value)
65
{
66
	if (env)
67
	{
68
		env->CallVoidMethod(jProgressMonitor, setCanceledID, (jboolean)value);
69
	}
70
}
71

  
72
void JniProgressMonitor::subTask(std::string name)
73
{
74
	if (env)
75
	{
76
		jstring jname = env->NewStringUTF(name.c_str());
77
		env->CallVoidMethod(jProgressMonitor, subTaskID, jname);
78
	}
79
}
80

  
81
void JniProgressMonitor::worked(int work)
82
{
83
	if (env)
84
	{
85
		env->CallVoidMethod(jProgressMonitor, workedID, (jint)work);
86
	}
87
}
88

  
ide/org.omnetpp.ide.nativelibs/jprogressmonitor.h
1
//=========================================================================
2
//  JPROGRESSMONITOR.H - part of
3
//
4
//                  OMNeT++/OMNEST
5
//           Discrete System Simulation in C++
6
//
7
//=========================================================================
8

  
9
/*--------------------------------------------------------------*
10
  Copyright (C) 1992-2005 Andras Varga
11

  
12
  This file is distributed WITHOUT ANY WARRANTY. See the file
13
  `license' for details on this and other legal matters.
14
*--------------------------------------------------------------*/
15

  
16
#ifndef _JPROGRESSMONITOR_H_
17
#define _JPROGRESSMONITOR_H_
18

  
19
#include <jni.h>
20
#include "progressmonitor.h"
21

  
22
/*
23
 * Implementation of the IProgressMonitor interface
24
 * that delegates to an org.eclipse.core.runtime.IProgressMonitor
25
 * java object.
26
 */
27
class JniProgressMonitor : public IProgressMonitor
28
{
29
	private:
30
		jobject jProgressMonitor;
31
		jmethodID beginTaskID, doneID, isCanceledID,
32
					setCanceledID, subTaskID, workedID;
33

  
34
		JNIEnv *env;
35
	public:
36

  
37
	JniProgressMonitor() : env(NULL) {}
38
	JniProgressMonitor(jobject jProgressMonitor, JNIEnv *env);
39
	virtual ~JniProgressMonitor();
40

  
41
	virtual void beginTask(std::string name, int totalWork);
42
	virtual void done();
43
	virtual bool isCanceled();
44
	virtual void setCanceled(bool value);
45
	virtual void subTask(std::string name);
46
	virtual void worked(int work);
47
};
48

  
49
#endif
50

  
ide/org.omnetpp.ide.nativelibs/layout.i
1
%module LayoutEngine
2

  
3
// covariant return type warning disabled
4
#pragma SWIG nowarn=822
5

  
6
%include "loadlib.i"
7
%include "enumtypeunsafe.swg"
8
%include "commondefs.i"
9
%javaconst(1);
10

  
11
%{
12
#include "graphlayouter.h"
13
#include "basicspringembedderlayout.h"
14
#include "forcedirectedgraphlayouter.h"
15
#include "geometry.h"
16
#include "forcedirectedparametersbase.h"
17
#include "forcedirectedparameters.h"
18
#include "forcedirectedembedding.h"
19
%}
20

  
21
// hide export/import macros from swig
22
#define COMMON_API
23
#define LAYOUT_API
24
#define OPP_DLLEXPORT
25
#define OPP_DLLIMPORT
26

  
27
#define NAMESPACE_BEGIN
28
#define NAMESPACE_END
29
#define USING_NAMESPACE
30

  
31
%typemap(jni)    cModule* "jobject"
32
%typemap(jtype)  cModule* "Object"
33
%typemap(jstype) cModule* "Object"
34
%typemap(javain) cModule* "$javainput"
35

  
36
%include "std_common.i"
37
%include "std_string.i"
38
%include "std_vector.i"
39

  
40
%typemap(javacode) Variable %{
41
    protected Variable disown() {
42
        swigCMemOwn = false;
43
        return this;
44
    }
45

  
46
    public boolean equals(Object obj) {
47
        return (obj instanceof Variable) && getCPtr(this)==getCPtr((Variable)obj);
48
    }
49
    public int hashCode() {
50
        return (int)getCPtr(this);
51
    }
52
%}
53

  
54
%typemap(javain) Variable * "Variable.getCPtr($javainput.disown())";
55

  
56
%typemap(javain) IBody * "IBody.getCPtr($javainput.disown())";
57

  
58
%typemap(javaimports) IBody %{
59
import java.lang.reflect.Constructor;
60
%}
61

  
62
%typemap(javaout) IBody * {
63
   return IBody.newIBody($jnicall, $owner);
64
}
65

  
66
%typemap(javacode) IBody %{
67
   protected IBody disown() {
68
      swigCMemOwn = false;
69
      return this;
70
   }
71

  
72
   @SuppressWarnings("unchecked")
73
   private static java.util.ArrayList<Constructor> bodyConstructors = new java.util.ArrayList<Constructor>();
74

  
75
   @SuppressWarnings("unchecked")
76
   public static IBody newIBody(long cPtr, boolean isOwner) {
77
      try {
78
         if (cPtr == 0)
79
            return null;
80

  
81
         String className = LayoutEngineJNI.IBody_getClassName(cPtr, null);
82
         Constructor constructor = null;
83
         for (int i = 0; i < bodyConstructors.size(); i++)
84
            if (bodyConstructors.get(i).getName().equals(className))
85
               constructor = bodyConstructors.get(i);
86

  
87
         if (constructor == null)
88
         {
89
            String name = "org.omnetpp.common.engine." + className;
90
            Class clazz = Class.forName(name);
91
            constructor = clazz.getDeclaredConstructor(long.class, boolean.class);
92
            bodyConstructors.add(constructor);
93
         }
94

  
95
         return (IBody)constructor.newInstance(cPtr, isOwner);
96
      }
97
      catch (Exception e) {
98
         throw new RuntimeException(e);
99
      }
100
   }
101
%}
102

  
103
%typemap(javain) IForceProvider * "IForceProvider.getCPtr($javainput.disown())";
104

  
105
%typemap(javaimports) IForceProvider %{
106
import java.lang.reflect.Constructor;
107
%}
108

  
109
%typemap(javaout) IForceProvider * {
110
   return IForceProvider.newIForceProvider($jnicall, $owner);
111
}
112

  
113
%typemap(javacode) IForceProvider %{
114
   protected IForceProvider disown() {
115
      swigCMemOwn = false;
116
      return this;
117
   }
118

  
119
   @SuppressWarnings("unchecked")
120
   private static java.util.ArrayList<Constructor> forceProviderConstructors = new java.util.ArrayList<Constructor>();
121

  
122
   @SuppressWarnings("unchecked")
123
   public static IForceProvider newIForceProvider(long cPtr, boolean isOwner) {
124
      try {
125
         if (cPtr == 0)
126
            return null;
127

  
128
         // we implement polymorphic return types:
129
         String className = LayoutEngineJNI.IForceProvider_getClassName(cPtr, null);
130
         Constructor constructor = null;
131
         for (int i = 0; i < forceProviderConstructors.size(); i++)
132
            if (forceProviderConstructors.get(i).getName().equals(className))
133
               constructor = forceProviderConstructors.get(i);
134

  
135
         if (constructor == null)
136
         {
137
            String name = "org.omnetpp.common.engine." + className;
138
            Class clazz = Class.forName(name);
139
            constructor = clazz.getDeclaredConstructor(long.class, boolean.class);
140
            forceProviderConstructors.add(constructor);
141
         }
142

  
143
         return (IForceProvider)constructor.newInstance(cPtr, isOwner);
144
      }
145
      catch (Exception e) {
146
         throw new RuntimeException(e);
147
      }
148
   }
149
%}
150

  
151
namespace std {
152
   %template(CcList) vector<Cc>;
153
   %template(IBodyList) vector<IBody *>;
154
   %template(IForceProviderList) vector<IForceProvider *>;
155
   %template(PtList) vector<Pt>;
156
   %template(VariableList) vector<Variable *>;
157
};
158

  
159
%define FIXUP_GETNODEPOSITION(CLASS)
160
%ignore CLASS::getNodePosition;
161
%extend CLASS {
162
   int getNodePositionX(cModule *mod) {int x,y; self->getNodePosition(mod, x, y); return x;}
163
   int getNodePositionY(cModule *mod) {int x,y; self->getNodePosition(mod, x, y); return y;}
164
}
165
%enddef
166

  
167
FIXUP_GETNODEPOSITION(GraphLayouter);
168
FIXUP_GETNODEPOSITION(BasicSpringEmbedderLayout);
169
FIXUP_GETNODEPOSITION(ForceDirectedGraphLayouter);
170

  
171
/*
172
XXX to ignore:
173
  getDistanceAndVector()
174
  getStandardVerticalDistanceAndVector()
175
  getSlipperyDistanceAndVector()
176
*/
177

  
178
%ignore zero;
179
%ignore NaN;
180
%ignore POSITIVE_INFINITY;
181
%ignore isNaN;
182
%ignore ForceDirectedEmbedding::parameters;
183
%ignore ForceDirectedEmbedding::writeDebugInformation;
184
%ignore LeastExpandedSpring::LeastExpandedSpring;   //XXX takes std::vector<AbstractSpring*>
185

  
186
%include "graphlayouter.h"
187
%include "basicspringembedderlayout.h"
188
%include "forcedirectedgraphlayouter.h"
189
%include "geometry.h"
190
%include "forcedirectedparametersbase.h"
191
%include "forcedirectedparameters.h"
192
%include "forcedirectedembedding.h"
193

  
ide/org.omnetpp.ide.nativelibs/loadlib.i
1
//
2
// Load the native library when any method from it is referenced.
3
//
4
// Note: check exceptions before. gcc shared libs must NOT be linked with "-static",
5
// because throw/catch won't work (program exits with "terminate called...").
6
// See http://www.gnu.org/software/gcc/faq.html#dso
7
// As a safeguard against incorrectly built libs, we test exceptions first thing
8
// after loading the library.
9
// --Andras
10
//
11

  
12
%{
13
#include "exception.h"
14
static void testExceptionHandling() {
15
    try {
16
        throw opp_runtime_error("if you see this exception, omnetpp's native library (\"opplibs\") was built incorrectly");
17
    } catch (std::exception&) { /*OK!*/ }
18
}
19
%}
20
void testExceptionHandling();
21

  
22
%pragma(java) jniclassimports=%{
23
import org.eclipse.core.runtime.Platform;
24
import org.eclipse.jface.dialogs.MessageDialog;
25
import org.eclipse.swt.widgets.Display;
26
%}
27

  
28
%pragma(java) jniclasscode=%{
29
  static {
30
      if (Platform.getOS().equals(Platform.OS_WIN32)) {
31
          try {
32
              // mingwm10.dll is a dependency of opplibs.dll. We need to load it
33
              // explicitly, because for some reason it is not found otherwise
34
              // when placed next to opplibs.dll. --Andras
35
              System.loadLibrary("mingwm10");
36
          }
37
          catch (UnsatisfiedLinkError e) {
38
              System.err.println("Warning: could not load mingwm10.dll: " + e.getClass().getName() + ": " + e.toString());
39
          }
40
      }
41
      try {
42
          System.loadLibrary("opplibs");
43
      }
44
      catch (UnsatisfiedLinkError e) {
45
          displayError(e);
46
          throw e;
47
      }
48
      testExceptionHandling();
49
      testThreads();
50
  }
51

  
52
  private static void testThreads() {
53
      // test that exception handling is thread-safe in our shared lib (gcc -mthreads)
54
      for (int i=0; i<3; i++) {
55
          Thread t = new Thread() {
56
              @Override
57
              public void run() {
58
                  long start = System.currentTimeMillis();
59
                  while (System.currentTimeMillis() - start < 50)
60
                      testExceptionHandling();
61
              }
62
          };
63
          t.start();
64
      }
65
  }
66

  
67
  private static void displayError(final UnsatisfiedLinkError e) {
68
      runNowOrSyncInUIThread(new Runnable() {
69
          public void run() {
70
              MessageDialog.openError(null, "Fatal Error",
71
                      "FATAL: The OMNeT++ IDE native library failed to load, " +
72
                      "all OMNeT++-related functionality will be unaccessible.\n\n" +
73
                      "Details:\n\n" +
74
                      e.getClass().getSimpleName() + ": " + e.getMessage() + "\n\n" +
75
                      (Platform.getOS().equals(Platform.OS_LINUX) ?
76
                              "Try upgrading your Linux installation to a more recent version, " +
77
                              "or installing newer versions of libc and libstdc++." : "")
78
              );
79
          }
80
      });
81
  }
82

  
83
  private static void runNowOrSyncInUIThread(Runnable runnable) {
84
      if (Display.getCurrent() == null)
85
          Display.getDefault().syncExec(runnable);
86
      else
87
          runnable.run();
88
  }
89
%}
90

  
91

  
ide/org.omnetpp.ide.nativelibs/nedxml.i
1
%module nedxml
2

  
3
// covariant return type warning disabled
4
#pragma SWIG nowarn=822
5

  
6
%include "loadlib.i"
7
%include "std_string.i"
8
%include "enums.swg"
9
%include "commondefs.i"
10

  
11
%javaconst(1);
12

  
13
%{
14
#include "nedelement.h"
15
#include "nederror.h"
16
#include "nedparser.h"
17
#include "ned2generator.h"
18
#include "ned1generator.h"
19
#include "xmlgenerator.h"
20
#include "nedelements.h"
21

  
22
#include "neddtdvalidator.h"
23
#include "nedtools.h"
24
#include "nedsyntaxvalidator.h"
25

  
26
// #include "nedcompiler.h"
27
#include "nedfilebuffer.h"
28
// #include "nedsemanticvalidator.h"
29
// #include "cppgenerator.h"
30
%}
31

  
32
// hide export/import macros from swig
33
#define COMMON_API
34
#define NEDXML_API
35
#define OPP_DLLEXPORT
36
#define OPP_DLLIMPORT
37

  
38
#define NAMESPACE_BEGIN
39
#define NAMESPACE_END
40
#define USING_NAMESPACE
41

  
42
namespace std {
43
//class ostream;
44
};
45

  
46
// parse functions return new objects, supposed to be deleted from Java
47
%newobject NEDParser::parseNEDText(const char *);
48
%newobject NEDParser::parseNEDFile(const char *);
49
%newobject NEDParser::parseNEDExpression(const char *);
50
%newobject createElementWithTag(int tagcode, NEDElement *parent);
51

  
52
// These are only public for technical reasons, shouldn't be wrapped
53
%ignore NEDParser::getSource();
54
%ignore NEDParser::getErrors();
55
%ignore NEDParser::error(const char *, int);
56

  
57
%ignore np;
58

  
59
%ignore NEDElementUserData;
60
%ignore NEDElement::setUserData(NEDElementUserData *);
61
%ignore NEDElement::getUserData() const;
62

  
63
%ignore generateNED1(std::ostream&, NEDElement *, NEDErrorStore *);
64
%ignore generateNED2(std::ostream&, NEDElement *, NEDErrorStore *);
65
%ignore generateXML(std::ostream&, NEDElement *, bool, int);
66
%ignore NEDInternalError;
67

  
68
// XXX for some reason, SWIG doesn't give a s&%$# about the following ignores:
69
%ignore NEDElementStore::add(NEDElement *, const char *, ...);
70
%ignore NEDElementStore::add(NEDElement *, int, const char *, ...);
71
%ignore NEDGenerator1::generate(std::ostream&, NEDElement *, const char *);
72
%ignore NEDGenerator2::generate(std::ostream&, NEDElement *, const char *);
73
%ignore NEDXMLGenerator::generate(std::ostream&, NEDElement *);
74

  
75
%ignore ltstr;
76

  
77
%ignore  FilesElement;
78
%ignore  NedFileElement;
79
%ignore  CommentElement;
80
%ignore  ImportElement;
81
%ignore  PropertyDeclElement;
82
%ignore  ExtendsElement;
83
%ignore  InterfaceNameElement;
84
%ignore  SimpleModuleElement;
85
%ignore  ModuleInterfaceElement;
86
%ignore  CompoundModuleElement;
87
%ignore  ChannelInterfaceElement;
88
%ignore  ChannelElement;
89
%ignore  ParametersElement;
90
%ignore  ParamGroupElement;
91
%ignore  ParamElement;
92
%ignore  PatternElement;
93
%ignore  PropertyElement;
94
%ignore  PropertyKeyElement;
95
%ignore  GatesElement;
96
%ignore  GateGroupElement;
97
%ignore  GateElement;
98
%ignore  TypesElement;
99
%ignore  SubmodulesElement;
100
%ignore  SubmoduleElement;
101
%ignore  ConnectionsElement;
102
%ignore  ConnectionElement;
103
%ignore  ChannelSpecElement;
104
%ignore  ConnectionGroupElement;
105
%ignore  LoopElement;
106
%ignore  ConditionElement;
107
%ignore  ExpressionElement;
108
%ignore  OperatorElement;
109
%ignore  FunctionElement;
110
%ignore  IdentElement;
111
%ignore  LiteralElement;
112
%ignore  MsgFileElement;
113
%ignore  NamespaceDeclElement;
114
%ignore  CplusplusElement;
115
%ignore  StructDeclElement;
116
%ignore  ClassDeclElement;
117
%ignore  MessageDeclElement;
118
%ignore  EnumDeclElement;
119
%ignore  EnumElement;
120
%ignore  EnumFieldsElement;
121
%ignore  EnumFieldElement;
122
%ignore  MessageElement;
123
%ignore  ClassElement;
124
%ignore  StructElement;
125
%ignore  FieldsElement;
126
%ignore  FieldElement;
127
%ignore  PropertiesElement;
128
%ignore  MsgpropertyElement;
129
%ignore  UnknownElement;
130

  
131

  
132
/* Let's just grab the original header file here */
133
%include "nedxmldefs.h"
134
%include "nedelement.h"
135
%include "nederror.h"
136
%include "nedparser.h"
137
%include "ned2generator.h"
138
%include "ned1generator.h"
139
%include "xmlgenerator.h"
140
%include "nedelements.h"
141

  
142
%include "nedvalidator.h"
143
%include "neddtdvalidatorbase.h"
144
%include "neddtdvalidator.h"
145
%include "nedtools.h"
146
%include "nedsyntaxvalidator.h"
147

  
148
//%include "nedcompiler.h"
149
//%include "nedfilebuffer.h"
150
//%include "nedsemanticvalidator.h"
151
//%include "cppgenerator.h"
152

  
ide/org.omnetpp.ide.nativelibs/scave-plove.i
1
%{
2
#include "node.h"
3
#include "dataflowmanager.h"
4
#include "nodetype.h"
5
#include "nodetyperegistry.h"
6
#include "arraybuilder.h"
7
#include "xyarray.h"
8
%}
9

  
10
// covariant return type warning disabled
11
#pragma SWIG nowarn=822
12

  
13
%include "commondefs.i"
14
%include "std_common.i"
15
%include "std_string.i"
16
%include "std_map.i"
17
%include "std_vector.i"
18
%include "std_list.i"    // our custom version
19

  
20
namespace std {
21

  
22
   //
23
   // Without the following macro (defined in std_map.i in the swig library),
24
   // get() returns string *pointer* (because of T& retval); this macro defines
25
   // get() to return T so it'll be just string. Same with NodeType*.
26
   //
27
   specialize_std_map_on_both(std::string,,,,std::string,,,);
28

  
29
   // generate needed template specializations
30
   %template(StringMap) map<string,string>;
31
   %template(NodeTypeVector) vector<NodeType*>;
32
};
33

  
34
//
35
// We publish very little of the Node and Port classes into Java,
36
// just enough to assemble the data-flow engine. We hide Channel and
37
// Datum altogether.
38
//
39

  
40
class NodeType;
41
class XYArray;
42

  
43
class Port
44
{
45
  private:
46
    Port(); // prevent generating a default public one
47
    ~Port();
48
  public:
49
    Node *getNode();
50
};
51

  
52
%newobject Node::getArray;
53

  
54
class Node
55
{
56
  private:
57
    Node(); // prevent generating a default public one
58
    ~Node();
59
  public:
60
    NodeType *getNodeType() const;
61
    %extend {
62
        XYArray *getArray() {
63
            ArrayBuilderNode *abNode = dynamic_cast<ArrayBuilderNode *>(self);
64
            return abNode ? abNode->getArray() : NULL;
65
        }
66
    }
67
};
68

  
69

  
70
%ignore DataflowManager::addNode; // it's included in NodeType::create()
71

  
72
%ignore XYArray::XYArray;
73

  
74
%ignore NodeTypeRegistry::parseFilterSpec;
75
//
76
// NodeType, NodeTypeRegistry and DataflowManager are published in their entirety
77
// to Java.
78
//
79
%include "nodetype.h"
80
%include "nodetyperegistry.h"
81
%include "dataflowmanager.h"
82
%include "xyarray.h"
83

  
84

  
ide/org.omnetpp.ide.nativelibs/scave.i
1
%module ScaveEngine
2

  
3
// covariant return type warning disabled
4
#pragma SWIG nowarn=822
5

  
6
%include "loadlib.i"
7
#%include "enums.swg"
8
#%javaconst(1);
9

  
10
%{
11
#include "scavedefs.h"
12
#include "enumtype.h"
13
#include "statistics.h"
14
#include "idlist.h"
15
#include "resultfilemanager.h"
16
#include "fields.h"
17
#include "datasorter.h"
18
#include "stringutil.h"   // strdictcmp
19
#include "indexfile.h"
20
#include "commonnodes.h"
21
#include "indexedvectorfile.h"
22
#include "vectorfileindexer.h"
23
#include "vectorfilereader.h"
24
#include "indexedvectorfilereader.h"
25
#include "scaveexception.h"
26
#include "export.h"
27
%}
28

  
29
#define THREADED
30

  
31
%include "commondefs.i"
32
%include "bigdecimal.i"
33

  
34
// hide export/import macros from swig
35
#define COMMON_API
36
#define OPP_DLLEXPORT
37
#define OPP_DLLIMPORT
38

  
39
#define NAMESPACE_BEGIN
40
#define NAMESPACE_END
41
#define USING_NAMESPACE
42

  
43
%include "intxtypes.h"
44
%include "scavedefs.h"
45

  
46
%typemap(jni) ID "jlong";
47

  
48
COMMON_ENGINE_BIGDECIMAL();
49

  
50
USE_COMMON_ENGINE_ILOCK();
51

  
52
%include "std_common.i"
53
%include "std_string.i"
54
%include "std_set.i"     // our custom version
55
%include "std_list.i"    // our custom version
56
%include "std_vector.i"
57
%include "std_map.i"
58

  
59
namespace std {
60
   %typemap(javacode) vector<string> %{
61
       public String[] toArray() {
62
           int sz = (int) size();
63
           String[] array = new String[sz];
64
           for (int i=0; i<sz; i++)
65
               array[i] = get(i);
66
           return array;
67
       }
68
       public static StringVector fromArray(String[] array) {
69
           StringVector vector = new StringVector();
70
           for (int i=0; i<array.length; i++)
71
               vector.add(array[i]);
72
           return vector;
73
       }
74

  
75
   %}
76

  
77
   %typemap(javacode) vector<double> %{
78
       public double[] toArray() {
79
           int sz = (int) size();
80
           double[] array = new double[sz];
81
           for (int i=0; i<sz; i++)
82
               array[i] = get(i);
83
           return array;
84
       }
85

  
86
   %}
87

  
88
   %typemap(javacode) vector<Run*> %{
89
        public Run[] toArray() {
90
            int sz = (int)size();
91
            Run[] array = new Run[sz];
92
            for (int i=0; i<sz; i++)
93
                array[i] = get(i);
94
            return array;
95
        }
96
   %}
97

  
98
   %typemap(javacode) vector<ResultFile*> %{
99
        public ResultFile[] toArray() {
100
            int sz = (int)size();
101
            ResultFile[] array = new ResultFile[sz];
102
            for (int i=0; i<sz; i++)
103
                array[i] = get(i);
104
            return array;
105
        }
106
   %}
107

  
108
   %typemap(javacode) vector<FileRun*> %{
109
        public FileRun[] toArray() {
110
            int sz = (int)size();
111
            FileRun[] array = new FileRun[sz];
112
            for (int i=0; i<sz; i++)
113
                array[i] = get(i);
114
            return array;
115
        }
116
   %}
117

  
118
   %typemap(javacode) vector<ID> %{
119
        public Long[] toArray() {
120
            int sz = (int)size();
121
            Long[] array = new Long[sz];
122
            for (int i=0; i<sz; i++)
123
                array[i] = Long.valueOf(get(i));
124
            return array;
125
        }
126
   %}
127

  
128
   %extend set<string> {
129
       std::vector<std::string> keys() {
130
           std::vector<std::string> vec;
131
           vec.reserve(self->size());
132
           for (std::set<std::string>::iterator it = self->begin(); it!=self->end(); it++)
133
               vec.push_back(*it);
134
           return vec;
135
       }
136
   }
137

  
138
   %extend map<string,string> {
139
       std::vector<std::string> keys() {
140
           std::vector<std::string> vec;
141
           vec.reserve(self->size());
142
           for (std::map<std::string,std::string>::iterator it = self->begin(); it!=self->end(); it++)
143
               vec.push_back(it->first);
144
           return vec;
145
       }
146
   }
147

  
148
   %template(StringSet) set<string>;
149
   %template(StringVector) vector<string>;
150

  
151
   //specialize_std_map_on_both(string,,,,string,,,);
152

  
153
   //%template(StringMap) map<string,string>;
154

  
155
   %template(IDVector) vector<ID>;
156
   %template(IDVectorVector) vector<vector<ID> >;
157
   %template(RunList) vector<Run*>;
158
   %template(ResultFileList) vector<ResultFile*>;
159
   %template(FileRunList) vector<FileRun*>;
160
   %template(DoubleVector) vector<double>;
161
   %template(XYDatasetVector) vector<XYDataset>;
162
};
163

  
164
%rename(toString) EnumType::str;
165
%ignore EnumType::insert;
166
%ignore EnumType::parseFromString;
167
%ignore EnumType::operator=;
168
%include "enumtype.h"
169

  
170

  
171

  
172
/*---------------------------------------------------------------------------
173
 *                    ResultFileManager
174
 *---------------------------------------------------------------------------*/
175

  
176

  
177
//
178
// The following code is for IDList::getSubsetByIndices():
179
//
180
%typemap(in) (int *array, int n) {
181
    $2 = jenv->GetArrayLength($input);
182
    jint *a = jenv->GetIntArrayElements($input, 0);
183
    $1 = new int[$2];
184
    for (int i=0; i<$2; i++)  $1[i] = a[i];
185
    jenv->ReleaseIntArrayElements($input, a, 0);
186
}
187

  
188
%typemap(freearg) (int *array, int n) {
189
    delete [] $1;
190
}
191

  
192
%typemap(jni)    (int *array, int n) "jintArray"
193
%typemap(jtype)  (int *array, int n) "int[]"
194
%typemap(jstype) (int *array, int n) "int[]"
195
%typemap(javain) (int *array, int n) "$javainput"
196

  
197
//
198
// The following code is for IDList::toByteArray()/fromByteArray()
199
//
200
%typemap(in) (char *array, int n) {
201
    $2 = jenv->GetArrayLength($input);
202
    $1 = (char *) jenv->GetByteArrayElements($input, 0);
203
}
204

  
205
%typemap(freearg) (char *array, int n) {
206
    jenv->ReleaseByteArrayElements($input, (jbyte *)$1, 0);
207
}
208

  
209
%typemap(jni)    (char *array, int n) "jbyteArray"
210
%typemap(jtype)  (char *array, int n) "byte[]"
211
%typemap(jstype) (char *array, int n) "byte[]"
212
%typemap(javain) (char *array, int n) "$javainput"
213

  
214

  
215
// FIXME add %newobject where needed!
216

  
217
//
218
// By default, string members get wrapped with get/set using *pointers* to strings.
219
// This is not too nice, so override it by defining proper getter/setter methods,
220
// and hiding (ignoring) the class member
221
//
222
%define FIX_STRING_MEMBER(STRUCT,MEMBER,CAPITALIZEDMEMBER)
223
%ignore STRUCT::MEMBER;
224
%extend STRUCT {
225
   std::string get ## CAPITALIZEDMEMBER() {return self->MEMBER;}
226
   void set ## CAPITALIZEDMEMBER(std::string __a) {self->MEMBER = __a;}
227
}
228
%enddef
229

  
230
%define FIX_CHARPTR_MEMBER(STRUCT,MEMBER,CAPITALIZEDMEMBER)
231
%ignore STRUCT::MEMBER;
232
%extend STRUCT {
233
   const char * get ## CAPITALIZEDMEMBER() {return self->MEMBER;}
234
}
235
%enddef
236

  
237

  
238
//
239
// addComputedVector
240
//
241

  
242
%typemap(jni)    ComputationNode "jobject"
243
%typemap(jtype)  ComputationNode "Object"
244
%typemap(jstype) ComputationNode "Object"
245
%typemap(javain) ComputationNode "$javainput"
246
%typemap(javaout) ComputationNode {
247
   return $jnicall;
248
}
249

  
250
%typemap(in) ComputationNode {
251
  $1 = (ComputationNode)jenv->NewGlobalRef($input);
252
}
253

  
254
// XXX call DeleteGlobalRef
255

  
256
%typemap(out) ComputationNode {
257
  if ($1)
258
    $result = (jobject)$1;
259
  else
260
    $result = $null;
261
}
262

  
263

  
264
/*--------------------------------------------------------------------------
265
 *                     check ResultFileFormatException
266
 *--------------------------------------------------------------------------*/
267
%define CHECK_RESULTFILE_FORMAT_EXCEPTION(METHOD)
268
%exception METHOD {
269
    try {
270
        $action
271
    } catch (ResultFileFormatException& e) {
272
    jclass clazz = jenv->FindClass("org/omnetpp/scave/engineext/ResultFileFormatException");
273
    jmethodID methodId = jenv->GetMethodID(clazz, "<init>", "(Ljava/lang/String;Ljava/lang/String;I)V");
274
    jthrowable exception = (jthrowable)(jenv->NewObject(clazz, methodId, jenv->NewStringUTF(e.what()), jenv->NewStringUTF(e.getFileName()), e.getLine()));
275
        jenv->Throw(exception);
276
        return $null;
277
    } catch (std::exception& e) {
278
        SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, const_cast<char*>(e.what()));
279
        return $null;
280
    }
281
}
282
%enddef
283

  
284

  
285

  
286
// Java doesn't appear to have dictionary sort, export it
287
int strdictcmp(const char *s1, const char *s2);
288

  
289
/* ------------- statistics.h  ----------------- */
290
%ignore Statistics::operator=;
291
%include "statistics.h"
292

  
293
/* ------------- idlist.h  ----------------- */
294
%include "idlist.i"
295

  
296
/* ------------- resultfilemanager.h  ----------------- */
297
%ignore ResultFileManager::dump;
298
%ignore VectorResult::stat;
299
%ignore ResultFile::id;
300
%ignore ResultFile::scalarResults;
301
%ignore ResultFile::vectorResults;
302
%ignore ResultFile::histogramResults;
303

  
304
%rename FileRun::fileRef file;
305
%rename FileRun::runRef run;
306
%rename ResultItem::fileRunRef fileRun;
307

  
308
%ignore ResultItem::moduleNameRef;
309
%ignore ResultItem::nameRef;
310

  
311
// do not allow direct access to unwrapped ResultFileManager
312
%ignore ResultFile::resultFileManager;
313
%ignore Run::resultFileManager;
314

  
315
// unused methods
316
%ignore ResultFileManager::filterRunList;
317
%ignore ResultFileManager::filterFileList;
318
%ignore ResultFileManager::getFileRuns;
319
%ignore ResultFileManager::getUniqueFileRuns;
320
%ignore ResultFileManager::getScalarsInFileRun;
321
%ignore ResultFileManager::getHistogramsInFileRun;
322
%ignore ResultFileManager::getUniqueRunAttributeValues;
323
%ignore ResultFileManager::getUniqueModuleParamValues;
324
//%ignore ResultFileManager::getUniqueModuleNames;
325
//%ignore ResultFileManager::getUniqueNames;
326
//%ignore ResultFileManager::getUniqueAttributeValues;
327
//%ignore ResultFileManager::getFileAndRunNumberFilterHints;
328

  
329
%newobject ResultItem::getEnum() const;
330

  
331
%extend ResultItem {
332
   std::string getModuleName() {return *self->moduleNameRef;}
333
   std::string getName() {return *self->nameRef;}
334
}
335

  
336
//
337
// Add polymorphic return type to ResultFileManager::getItem(),
338
// because plain ResultItem does not contain the type (VECTOR, SCALAR, etc).
339
//
340
%ignore ResultFileManager::getItem;
341
%typemap(javacode) ResultFileManager %{
342

  
343
  public ResultItem getItem(long id) {
344
      int type = getTypeOf(id);
345
      if (type==SCALAR)
346
          return getScalar(id);
347
      else if (type==VECTOR)
348
          return getVector(id);
349
      else if (type==HISTOGRAM)
350
          return getHistogram(id);
351
      else
352
          throw new RuntimeException("unknown ID type");
353
  }
354

  
355
  public static <T> T callWithReadLock(ResultFileManager manager, java.util.concurrent.Callable<T> callable) {
356
    return callWithLock(manager != null ? manager.getReadLock() : null, callable);
357
  }
358

  
359
  public static <T> T callWithWriteLock(ResultFileManager manager, java.util.concurrent.Callable<T> callable) {
360
    return callWithLock(manager != null ? manager.getWriteLock() : null, callable);
361
  }
362

  
363
  private static <T> T callWithLock(org.omnetpp.common.engine.ILock lock, java.util.concurrent.Callable<T> callable) {
364
    if (lock != null)
365
      lock.lock();
366
    try {
367
      return callable.call();
368
    }
369
    catch (RuntimeException e) {
370
      throw e;
371
    }
372
    catch (Exception e) {
373
      throw new RuntimeException(e);
374
    }
375
    finally {
376
      if (lock != null)
377
        lock.unlock();
378
    }
379
  }
380

  
381

  
382
  public void checkReadLock() {
383
    org.eclipse.core.runtime.Assert.isTrue(getReadLock().hasLock(), "Missing read lock.");
384
  }
385

  
386
  public void checkWriteLock() {
387
    org.eclipse.core.runtime.Assert.isTrue(getWriteLock().hasLock(), "Missing write lock.");
388
  }
389

  
390
  public boolean equals(Object obj) {
391
    if (this == obj)
392
      return true;
393
    if (obj == null || this.getClass() != obj.getClass())
394
      return false;
395
    return getCPtr(this) == getCPtr((ResultFileManager)obj);
396
  }
397

  
398
  public int hashCode() {
399
    return (int)getCPtr(this);
400
  }
401
%}
402

  
403
FIX_STRING_MEMBER(ResultFile, filePath, FilePath);
404
FIX_STRING_MEMBER(ResultFile, directory, Directory);
405
FIX_STRING_MEMBER(ResultFile, fileName, FileName);
406
FIX_STRING_MEMBER(ResultFile, fileSystemFilePath, FileSystemFilePath);
407
//FIX_STRING_MEMBER(Run, networkName, NetworkName);
408
//FIX_STRING_MEMBER(Run, date, Date);
409
FIX_STRING_MEMBER(Run, runName, RunName);
410
//FIX_STRING_MEMBER(Run, fileAndRunName, FileAndRunName);
411
//FIX_STRING_MEMBER(Run, experimentName, ExperimentName);
412
//FIX_STRING_MEMBER(Run, measurementName, MeasurementName);
413
//FIX_STRING_MEMBER(Run, replicationName, ReplicationName);
414
FIX_STRING_MEMBER(VectorResult, columns, Columns);
415

  
416
ADD_CPTR_EQUALS_AND_HASHCODE(ResultFile);
417
ADD_CPTR_EQUALS_AND_HASHCODE(Run);
418
ADD_CPTR_EQUALS_AND_HASHCODE(FileRun);
419
ADD_CPTR_EQUALS_AND_HASHCODE(ResultItem);
420
CHECK_RESULTFILE_FORMAT_EXCEPTION(ResultFileManager::loadFile)
421

  
422
%newobject ResultFileManager::getUniqueFiles(const IDList&) const;
423
%newobject ResultFileManager::getUniqueRuns(const IDList&) const;
424
%newobject ResultFileManager::getUniqueFileRuns(const IDList&) const;
425
%newobject ResultFileManager::getUniqueModuleNames(const IDList&) const;
426
%newobject ResultFileManager::getUniqueNames(const IDList&) const;
427
%newobject ResultFileManager::getUniqueAttributeNames(const IDList&) const;
428
%newobject ResultFileManager::getUniqueRunAttributeNames(const RunList *) const;
429
%newobject ResultFileManager::getUniqueModuleParamNames(const RunList *) const;
430
%newobject ResultFileManager::getUniqueAttributeValues(const IDList &, const char *) const;
431
%newobject ResultFileManager::getUniqueRunAttributeValues(const RunList&, const char *) const;
432
%newobject ResultFileManager::getUniqueModuleParamValues(const RunList&, const char *) const;
433

  
434
%newobject ResultFileManager::getFileAndRunNumberFilterHints(const IDList&) const;
435
%newobject ResultFileManager::getFilePathFilterHints(const ResultFileList&) const;
436
%newobject ResultFileManager::getRunNameFilterHints(const RunList&) const;
437
%newobject ResultFileManager::getModuleFilterHints(const IDList&) const;
438
%newobject ResultFileManager::getNameFilterHints(const IDList&) const;
439
%newobject ResultFileManager::getResultItemAttributeFilterHints(const IDList&, const char*) const;
440
%newobject ResultFileManager::getRunAttributeFilterHints(const RunList&, const char*) const;
441
%newobject ResultFileManager::getModuleParamFilterHints(const RunList&, const char*) const;
442

  
443
%include "resultfilemanager.h"
444

  
445
/* ------------- datasorter.h  ----------------- */
446
%include "datasorter.h"
447

  
448

  
449
/* ------------- dataflownetwork.h  ----------------- */
450
// wrap the data-flow engine as well
451
CHECK_RESULTFILE_FORMAT_EXCEPTION(DataflowManager::execute)
452
%include scave-plove.i
453

  
454
/* ------------- indexfile.h  ----------------- */
455
// %include "indexfile.h"
456

  
457
%javamethodmodifiers IndexFile::isIndexFileUpToDate "protected";
458

  
459
class IndexFile
460
{
461
    public:
462
        static bool isIndexFile(const char *indexFileName);
463
        static bool isVectorFile(const char *vectorFileName);
464
        static std::string getIndexFileName(const char *vectorFileName);
465
        static std::string getVectorFileName(const char *indexFileName);
466
        static bool isIndexFileUpToDate(const char *fileName);
467
};
468

  
469
/* ------------- vectorfileindexer.h  ----------------- */
470
CHECK_RESULTFILE_FORMAT_EXCEPTION(VectorFileIndexer::generateIndex)
471
%include "vectorfileindexer.h"
472

  
473
/* ------------- indexedvectorfile.h  ----------------- */
474
%typemap(javacode) OutputVectorEntry %{
475
   public boolean equals(Object obj) {
476
      return (obj instanceof OutputVectorEntry) && getSerial() == ((OutputVectorEntry)obj).getSerial();
477
   }
478

  
479
   public int hashCode() {
480
      return getSerial();
481
   }
482
%}
483

  
484
namespace std {
485
  %template(EntryVector) vector<OutputVectorEntry>;
486
};
487
%ignore IndexedVectorFileWriterNode;
488
%ignore IndexedVectorFileWriterNodeType;
489
%include "indexedvectorfile.h"
490

  
491
/* ------------- vectorfilereader.h  ----------------- */
492
%ignore SingleSourceNode;
493
%ignore SingleSinkNode;
494
%ignore FilterNode;
495
%ignore ReaderNode;
496
%ignore SingleSourceNodeType;
497
%ignore SingleSinkNodeType;
498
%ignore FilterNodeType;
499
%ignore ReaderNodeType;
500
%include "commonnodes.h"
501

  
502
%extend VectorFileReaderNode {
503
    static VectorFileReaderNode *cast(Node* node) { return dynamic_cast<VectorFileReaderNode*>(node); }
504
};
505

  
506
%ignore VectorFileReaderNodeType;
507
%ignore parseColumns;
508
%include "vectorfilereader.h"
509

  
510
/* ------------- indexedvectorfilereader.h  ----------------- */
511
%include "indexedvectorfilereader.h"
512

  
513

  
514
%extend IndexedVectorFileReaderNode {
515
    static IndexedVectorFileReaderNode *cast(Node* node) { return dynamic_cast<IndexedVectorFileReaderNode*>(node); }
516
};
517

  
518
/* ------------------ fields.h --------------------- */
519
%ignore ResultItemFieldsEqual;
520
%ignore ResultItemFieldsLess;
521
%ignore IDFieldsEqual;
522
%ignore IDFieldsLess;
523
%ignore getAttribute;
524
%ignore ResultItemFields::begin;
525
%ignore ResultItemFields::end;
526

  
527
%typemap(javacode) ResultItemField %{
528

  
529
  public static final String FILE   = getFILE();
530
  public static final String RUN    = getRUN();
531
  public static final String MODULE = getMODULE();
532
  public static final String NAME   = getNAME();
533

  
534
  public boolean equals(Object other) {
535
    if (this == other)
536
      return true;
537
    if (other == null || this.getClass() != other.getClass())
538
      return false;
539
    ResultItemField otherField = (ResultItemField)other;
540
    return this.getID() == otherField.getID() && this.getName().equals(otherField.getName());
541
  }
542

  
543
  public int hashCode() {
544
    return 37 * getID() + getName().hashCode();
545
  }
546
%}
547

  
548
%typemap(javacode) RunAttribute %{
549

  
550
  public static final String INIFILE           = getINIFILE();
551
  public static final String CONFIGNAME        = getCONFIGNAME();
552
  public static final String RUNNUMBER         = getRUNNUMBER();
553
  public static final String NETWORK           = getNETWORK();
554
  public static final String EXPERIMENT        = getEXPERIMENT();
555
  public static final String MEASUREMENT       = getMEASUREMENT();
556
  public static final String REPLICATION       = getREPLICATION();
557
  public static final String PROCESSID         = getPROCESSID();
558
  public static final String DATETIME          = getDATETIME();
559
  public static final String RESULTDIR         = getRESULTDIR();
560
  public static final String REPETITION        = getREPETITION();
561
  public static final String SEEDSET           = getSEEDSET();
562
  public static final String ITERATIONVARS     = getITERATIONVARS();
563
  public static final String ITERATIONVARS2    = getITERATIONVARS2();
564

  
565
%}
566

  
567
%typemap(javacode) ResultItemFields %{
568

  
569
  public ResultItemFields(String... fieldNames) {
570
    this(StringVector.fromArray(fieldNames));
571
  }
572
%}
573

  
574
%include "fields.h"
575

  
576
/* ------------------ datasorter.h --------------------- */
577
%include "datasorter.h"
578

  
579
/* ------------------ export.h ----------------------- */
580
%ignore Column;
581
%ignore DataTable;
582
%ignore XYDataTable;
583
%ignore ScalarDataTable;
584
%ignore ScatterDataTable;
585
%ignore JoinedDataTable;
586
%ignore MatlabStructExport;
587
%ignore MatlabScriptExport;
588
%ignore OctaveTextExport;
589
%rename(EOL)    CsvExport::eol;
590
%newobject ExporterFactory::createExporter;
591
%include "export.h"
ide/org.omnetpp.ide.nativelibs/stacktrace.i
1
%{
2

  
3
int printStackTrace(JNIEnv *env)
4
{
5
	jclass clazz = env->FindClass("java/lang/Thread");
6
	if (!clazz)
7
		return -1;
8

  
9
	jmethodID method = env->GetStaticMethodID(clazz, "dumpStack", "()V");
10
	if (!method)
11
		return -2;
12

  
13
	env->CallStaticVoidMethod(clazz, method);
14
	return 0;
15
}
16

  
17
%}
ide/org.omnetpp.ide.nativelibs/std_list.i
1
//
2
// SWIG typemaps for std::list
3
// Andras Varga
4
// 2005
5
//
6
// Java implementation
7

  
8

  
9
%include exception.i
10

  
11
// containers
12

  
13
// methods which can raise are caused to throw an IndexError
14
%exception std::list::get {
15
    try {
16
        $action
17
    } catch (std::out_of_range& e) {
18
        SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, const_cast<char*>(e.what()));
19
        return $null;
20
    }
21
}
22

  
23
%exception std::list::set {
24
    try {
25
        $action
26
    } catch (std::out_of_range& e) {
27
        SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, const_cast<char*>(e.what()));
28
        return $null;
29
    }
30
}
31

  
32

  
33
// ------------------------------------------------------------------------
34
// std::list
35
//
36
// The aim of all that follows would be to integrate std::list with
37
// Java as much as possible, namely, to allow the user to pass and
38
// be returned Java (arrays? containers?)
39
// const declarations are used to guess the intent of the function being
40
// exported; therefore, the following rationale is applied:
41
//
42
//   -- f(std::list<T>), f(const std::list<T>&), f(const std::list<T>*):
43
//      the parameter being read-only, either a Java sequence or a
44
//      previously wrapped std::list<T> can be passed.
45
//   -- f(std::list<T>&), f(std::list<T>*):
46
//      the parameter must be modified; therefore, only a wrapped std::list
47
//      can be passed.
48
//   -- std::list<T> f():
49
//      the list is returned by copy; therefore, a Java sequence of T:s
50
//      is returned which is most easily used in other Java functions
51
//   -- std::list<T>& f(), std::list<T>* f(), const std::list<T>& f(),
52
//      const std::list<T>* f():
53
//      the list is returned by reference; therefore, a wrapped std::list
54
//      is returned
55
// ------------------------------------------------------------------------
56

  
57
%{
58
#include <list>
59
#include <algorithm>
60
#include <stdexcept>
61
%}
62

  
63
// exported class
64

  
65
namespace std {
66

  
67
    template<class T> class list {
68
        // add generic typemaps here
69
        %typemap(javacode) list<T> %{
70
          public T[] toArray() {
71
            int sz = (int)size();
72
            T[] array = new T[sz];
73
            for (int i=0; i<sz; i++)
74
              array[i] = get(i);
75
            return array;
76
          }
77
        %}
78
      public:
79
        list();
80
        unsigned int size() const;
81
        %rename(isEmpty) empty;
82
        bool empty() const;
83
        void clear();
84
        %rename(add) push_back;
85
        void push_back(const T& x);
86
        void push_front(const T& x);
87
        const T& back();
88
        const T& front();
89
        %extend {
90
            T& pop_back() {
91
                if (self->empty())
92
                    throw std::out_of_range("pop invoked on empty list");
93
                T& x = self->back();
94
                self->pop_back();
95
                return x;
96
            }
97
            T& pop_front() {
98
                if (self->empty())
99
                    throw std::out_of_range("pop invoked on empty list");
100
                T& x = self->back();
101
                self->pop_back();
102
                return x;
103
            }
104
            T& get(int i) {
105
                int size = int(self->size());
106
                if (i<0 || i>=size)
107
                    throw std::out_of_range("list index out of range");
108
                std::list<T>::iterator it = self->begin();
109
                for (; i>0; i--) it++;  // linear time!
110
                return (*it);
111
            }
112
            void set(int i, const T& x) {
113
                int size = int(self->size());
114
                if (i<0 || i>=size)
115
                    throw std::out_of_range("list index out of range");
116
                std::list<T>::iterator it = self->begin();
117
                for (; i>0; i--) it++;  // linear time!
118
                (*it) = x;
119
            }
120
            void insert(int i, const T& x) {
121
                int size = int(self->size());
122
                if (i<0 || i>size)  // i==size allowed, for append operation
123
                    throw std::out_of_range("list index out of range");
124
                std::list<T>::iterator it = self->begin();
125
                for (; i>0; i--) it++;  // linear time!
126
                self->insert(it, x);
127
            }
128
            void del(int i) {
129
                int size = int(self->size());
130
                if (i<0 || i>=size)
131
                    throw std::out_of_range("list index out of range");
132
                std::list<T>::iterator it = self->begin();
133
                for (; i>0; i--) it++;  // linear time!
134
                self->erase(it);
135
            }
136
        }
137
    };
138

  
139

  
140
    // specializations for built-ins
141

  
142
    %define specialize_std_list(T)
143
    template<> class list<T> {
144
        // add generic typemaps here
145
        %typemap(javacode) list<T> %{
146
          public T[] toArray() {
147
            int sz = (int)size();
148
            T[] array = new T[sz];
149
            for (int i=0; i<sz; i++)
150
              array[i] = get(i);
151
            return array;
152
          }
153
        %}
154
      public:
155
        list();
156
        unsigned int size() const;
157
        %rename(isEmpty) empty;
158
        bool empty() const;
159
        void clear();
160
        %rename(add) push_back;
161
        void push_back(T x);
162
        void push_front(T x);
163
        T back();
164
        T front();
165
        %extend {
166
            T pop_back() {
167
                if (self->empty())
168
                    throw std::out_of_range("pop invoked on empty list");
169
                T x = self->back();
170
                self->pop_back();
171
                return x;
172
            }
173
            T pop_front() {
174
                if (self->empty())
175
                    throw std::out_of_range("pop invoked on empty list");
176
                T x = self->back();
177
                self->pop_back();
178
                return x;
179
            }
180
            T get(int i) {
181
                int size = int(self->size());
182
                if (i<0 || i>=size)
183
                    throw std::out_of_range("list index out of range");
184
                std::list<T>::iterator it = self->begin();
185
                for (; i>0; i--) it++;  // linear time!
186
                return (*it);
187
            }
188
            void set(int i, T x) {
189
                int size = int(self->size());
190
                if (i<0 || i>=size)
191
                    throw std::out_of_range("list index out of range");
192
                std::list<T>::iterator it = self->begin();
193
                for (; i>0; i--) it++;  // linear time!
194
                (*it) = x;
195
            }
196
            void insert(int i, T x) {
197
                int size = int(self->size());
198
                if (i<0 || i>size)  // i==size allowed, for append operation
199
                    throw std::out_of_range("list index out of range");
200
                std::list<T>::iterator it = self->begin();
201
                for (; i>0; i--) it++;  // linear time!
202
                self->insert(it, x);
203
            }
204
            void del(int i) {
205
                int size = int(self->size());
206
                if (i<0 || i>=size)
207
                    throw std::out_of_range("list index out of range");
208
                std::list<T>::iterator it = self->begin();
209
                for (; i>0; i--) it++;  // linear time!
210
                self->erase(it);
211
            }
212
        }
213
    };
214
    %enddef
215

  
216
    specialize_std_list(bool);
217
    specialize_std_list(char);
218
    specialize_std_list(int);
219
    specialize_std_list(short);
220
    specialize_std_list(long);
221
    specialize_std_list(unsigned char);
222
    specialize_std_list(unsigned int);
223
    specialize_std_list(unsigned short);
224
    specialize_std_list(unsigned long);
225
    specialize_std_list(float);
226
    specialize_std_list(double);
227
    specialize_std_list(std::string);
228

  
229
}
230

  
ide/org.omnetpp.ide.nativelibs/std_set.i
1
//
2
// SWIG typemaps for std::set
3
// Andras Varga
4
// Aug. 2005
5
//
6
// Common implementation
7

  
8
%include std_common.i
9
%include exception.i
10

  
11
%exception std::set::del  {
12
    try {
13
        $action
14
    } catch (std::out_of_range& e) {
15
        SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, const_cast<char*>(e.what()));
16
        return $null;
17
    }
18
}
19

  
20
// ------------------------------------------------------------------------
21
// std::set
22
// ------------------------------------------------------------------------
23

  
24
%{
25
#include <set>
26
#include <algorithm>
27
#include <stdexcept>
28
%}
29

  
30
// exported class
31

  
32
namespace std {
33

  
34
    template<class T> class set {
35
        // add typemaps here
36
      public:
37
        set();
38
        set(const set<T> &);
39

  
40
        unsigned int size() const;
41
        bool empty() const;
42
        void clear();
43
        %extend {
44
            void insert(const T& key) {
45
                self->insert(key);
46
            }
47
            void del(const T& key) {
48
                std::set<T>::iterator i = self->find(key);
49
                if (i != self->end())
50
                    self->erase(i);
51
                else
52
                    throw std::out_of_range("key not found");
53
            }
54
            bool has_key(const T& key) {
55
                std::set<T>::iterator i = self->find(key);
56
                return i != self->end();
57
            }
58
        }
59
    };
60

  
61
    // specializations for built-ins
62

  
63
    %define specialize_std_set(T)
64

  
65
    template<> class set<T> {
66
        // add typemaps here
67
      public:
68
        set();
69
        set(const set<T> &);
70

  
71
        unsigned int size() const;
72
        bool empty() const;
73
        void clear();
74
        %extend {
75
            void insert(T key) {
76
                self->insert(key);
77
            }
78
            void del(T key) {
79
                std::set<T>::iterator i = self->find(key);
80
                if (i != self->end())
81
                    self->erase(i);
82
                else
83
                    throw std::out_of_range("key not found");
84
            }
85
            bool has_key(T key) {
86
                std::set<T>::iterator i = self->find(key);
87
                return i != self->end();
88
            }
89
        }
90
    };
91

  
92

  
93
    %enddef
94

  
95
    // add specializations here
96

  
97
    specialize_std_set(bool);
98
    specialize_std_set(char);
99
    specialize_std_set(int);
100
    specialize_std_set(short);
101
    specialize_std_set(long);
102
    specialize_std_set(unsigned char);
103
    specialize_std_set(unsigned int);
104
    specialize_std_set(unsigned short);
105
    specialize_std_set(unsigned long);
106
    specialize_std_set(float);
107
    specialize_std_set(double);
108
    specialize_std_set(std::string);
109
}
ide/org.omnetpp.ide.nativelibs/std_vector.i
1
/* -----------------------------------------------------------------------------
2
 * See the LICENSE file for information on copyright, usage and redistribution
3
 * of SWIG, and the README file for authors - http://www.swig.org/release.html.
4
 *
5
 * std_vector.i
6
 * ----------------------------------------------------------------------------- */
7

  
8
%include <std_common.i>
9

  
10
%{
11
#include <vector>
12
#include <stdexcept>
13
%}
14

  
15
namespace std {
16

  
17
    template<class T> class vector {
18
      public:
19
        typedef size_t size_type;
20
        typedef T value_type;
21
        typedef const value_type& const_reference;
22
        vector();
23
        vector(size_type n);
24
        size_type size() const;
25
        size_type capacity() const;
26
        void reserve(size_type n);
27
        %rename(isEmpty) empty;
28
        bool empty() const;
29
        void clear();
30
        %rename(add) push_back;
31
        void push_back(const value_type& x);
32
        %extend {
33
            /*const_reference*/T get(int i) throw (std::out_of_range) {
34
                int size = int(self->size());
35
                if (i>=0 && i<size)
36
                    return (*self)[i];
37
                else
38
                    throw std::out_of_range("vector index out of range");
39
            }
40
            void set(int i, const value_type& x) throw (std::out_of_range) {
41
                int size = int(self->size());
42
                if (i>=0 && i<size)
43
                    (*self)[i] = x;
44
                else
45
                    throw std::out_of_range("vector index out of range");
46
            }
47
        }
48
    };
49
}
50

  
51
%define specialize_std_vector(T)
52
#warning "specialize_std_vector - specialization for type T no longer needed"
53
%enddef
54

  
ide/org.omnetpp.sequencechart/META-INF/MANIFEST.MF
1
Manifest-Version: 1.0
2
Bundle-Name: OMNeT++ Sequence Chart
3
Bundle-Activator: org.omnetpp.sequencechart.SequenceChartPlugin
4
Bundle-Vendor: OpenSim Ltd.
5
Bundle-ManifestVersion: 2
6
Bundle-SymbolicName: org.omnetpp.sequencechart;singleton:=true
7
Export-Package: org.omnetpp.sequencechart,org.omnetpp.sequencechart.ed
8
 itors,org.omnetpp.sequencechart.widgets
9
Require-Bundle: org.eclipse.core.resources,
10
 org.eclipse.core.runtime,
11
 org.eclipse.ui,
12
 org.eclipse.ui.ide,
13
 org.eclipse.ui.views,
14
 org.eclipse.ui.editors,
15
 org.eclipse.jface.text,
16
 org.eclipse.draw2d,
17
 org.eclipse.ui.workbench.texteditor,
18
 org.omnetpp.common;resolution:=optional,
19
 org.omnetpp.ide.nativelibs,
20
 org.apache.batik.svggen;bundle-version="1.6.0";resolution:=optional,
21
 org.apache.batik.ext.awt;bundle-version="1.6.0";resolution:=optional,
22
 org.apache.batik.util;bundle-version="1.6.0";resolution:=optional,
23
 org.eclipse.gmf.runtime.draw2d.ui;bundle-version="1.1.0";resolution:=optional,
24
 org.eclipse.gmf.runtime.draw2d.ui.render;bundle-version="1.1.0";resolution:=optional,
25
 org.eclipse.gmf.runtime.draw2d.ui.render.awt;bundle-version="1.1.0";resolution:=optional
26
Bundle-Version: 4.1.0.100611-4b63c38
27
Eclipse-LazyStart: true
ide/org.omnetpp.sequencechart/README.txt
1
This manual briefly explains how to INSTALL and USE the extended sequence chart.
2

  
3
NOTE: The extended sequencechart has only been tested with OMNeT++ 4.1.
4
      Horizon currently does neither support Windows nor MacOS.
5

  
6

  
7
Prerequisites
8
=============
9

  
10
- Download stock OMNeT++ 4.1 from www.omnetpp.org and un-tar it.
11
  NOTE: The extended sequencechart has only been tested with OMNeT++ 4.1.
12

  
13
- Copy "ide" directory from stock OMNeT++ to root directory of Horizon.
14

  
15
- Build Horizon
16
  Read "INSTALL" in the root directory of Horizon for more
17
  information on compile time options and build prerequisites.
18
    $> ./configure; make
19

  
20

  
21
Installing from binaries
22
========================
23

  
24
- Replace the following files in the "ide/plugin" directory of Horizon
25
  with the corresponding ones from the "ide/sequencechart/bin" directory: 
26
  - org.omnetpp.ide.nativelibs_<version-string>.jar
27
  - org.omnetpp.sequencechart_<version-string>.jar
28
  - org.omnetpp.ide.nativelibs.linux.x86_64_<version-string>/libopplibs.so  
29
  
30
  NOTE: Horizon currently does neither support Windows nor MacOS.
31

  
32

  
33
Building from source
34
====================
35

  
36
1. Build and install C++ nativelibs:
37
------------------------------------
38

  
39
- Build libopplibs.so and create Java wrappers
40
    $> cd src/org.omnetpp.ide.nativelibs
41
    $> make
42
  This creates the file "horizon/out/gcc-<mode>/ui/libopplibs.so" and Java 
43
  files in "src/org.omnetpp.ide.nativelibs/src"
44
  
45
- Replace the stock libopplibs.so file in 
46
  "ide/org.omnetpp.ide.nativelibs.<YOUR-PLATFORM>_<version-string>" with the 
47
  previously built libopplibs.so
48

  
49

  
50
2. Build and install Java nativelibs wrapper
51
--------------------------------------------
52

  
53
- Compile previously created Java files and create jar archive
54
  NOTE: - We don't provide a makefile for this.
55
  
56
        - Consider using a Java project in Eclipse for building the code. You
57
          may also use a plugin-development project.
58
          
59
        - Use the existing jar-files from the plugins-directory of the IDE to
60
          resolve compile time dependencies.
61
          
62
        - Export the built code as jar-file using the "export jar" feature of
63
          Eclipse. Important: Use the provided MANIFEST.MF file.  
64
        
65
- Replace stock org.omnetpp.ide.nativelibs_<version-string>.jar file in 
66
  "ide/plugins" with the previously built jar
67

  
68

  
69
3. Build and install new sequence chart 
70
---------------------------------------
71

  
72
- Create Eclipse plugin project with the code of the sequencechart provided in
73
  "ide/sequencechart/src"
74
  
75
- Build sequencechart.jar as Eclipse plugin
76

  
77
  NOTE: - We don't provide a makefile for this.
78
  
79
        - Consider using a Java project in Eclipse for building the code. You
80
          may also use a plugin-development project.
81
          
82
        - Use the existing jar-files from the plugins-directory of the IDE to
83
          resolve compile time dependencies.
84
          
85
        - Export the built code as jar-file using the "export jar" feature of
86
          Eclipse. Important: Use the provided MANIFEST.MF file and include
87
          the plugin.xml file in the jar.
88

  
89
- Replace stock org.omnetpp.sequencechart_<version-string>.jar file in 
90
  "ide/plugins/" with previously build jar-file
91

  
92

  
93
Starting the extended sequencechart
94
===================================
95

  
96
- Create a trace by running Horizon with tracing enabled (record-eventlog=true)
97
  OR
98
  use the sample trace provided in "horizon/ide/sequencechart/sample"
99
  
100
- Start the IDE
101

  
102
- Load trace file in the IDE to open the sequencechart plugin
103

  
104

  
105
Using the extended sequencechart
106
================================
107

  
108
- Use the new toolbar button "Event Length Mode" for switching event length mode
109
  between duration and complexity. The corresponding other time domain is
110
  represented by a gradual color coding ranging from green to red.
111
  
112
  NOTE: Please use "Timeline Mode: Linear" (toggle via toolbar button) as the
113
        other timeline modes introduce an artifical spacing between events.
114

  
115
- Use the new toolbar button "Show Event Overlapping" for enabling and disabling the
116
  highlighting of parallel events. Once enabled, select one event in the sequence
117
  chart to highlight all event which can be offloaded in parallel to the
118
  selected event. This disables the gradual color coding.
119

  
120
- Use the new toolbar buttons "Jump to next Bottleneck" or "Jump to previous Bottleneck"
121
  to search and highlight either the next or the previous performance bottleneck,
122
  i.e. region where only few events overlap (can be processed in parallel). Use
123
  the button "Bottleneck Preferences" to set the detection threshold in terms of
124
  the minimum number of overlapping events.
125
   
ide/org.omnetpp.sequencechart/build.properties
1
source.. = src/
2
output.. = bin/
3
bin.includes = META-INF/,\
4
               .,\
5
               lib/,\
6
               icons/,\
7
               plugin.xml
ide/org.omnetpp.sequencechart/plugin.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<?eclipse version="3.2"?>
3
<plugin>
4

  
5
   <extension
6
         point="org.eclipse.ui.editors">
7
      <editor
8
            name="OMNeT++ Sequence Chart"
9
            extensions="elog"
10
            icon="icons/full/eobj16/sequencechart.png"
11
            contributorClass="org.omnetpp.sequencechart.editors.SequenceChartContributor"
12
            class="org.omnetpp.sequencechart.editors.SequenceChartEditor"
13
            id="org.omnetpp.sequencechart.editors.SequenceChartEditor"
14
            default="true">
15
      </editor>
16
   </extension>
17

  
18
   <extension
19
         point="org.eclipse.ui.views">
20
      <view
21
            name="Sequence Chart"
22
            icon="icons/full/eview16/sequencechart.png"
23
            category="org.omnetpp.views"
24
            class="org.omnetpp.sequencechart.editors.SequenceChartView"
25
            id="org.omnetpp.sequencechart.editors.SequenceChartView">
26
      </view>
27
   </extension>
28

  
29
   <extension
30
         point="org.eclipse.ui.perspectiveExtensions">
31
      <perspectiveExtension
32
            targetID="org.eclipse.ui.resourcePerspective">
33
         <view
34
               id="org.omnetpp.sequencechart.editors.SequenceChartView"
35
               relationship="stack"
36
               relative="org.eclipse.ui.views.ProblemView">
37
         </view>
38
      </perspectiveExtension>
39
   </extension>
40

  
41
   <extension
42
         point="org.eclipse.ui.commands">
43
      <command
44
            defaultHandler="org.omnetpp.sequencechart.editors.SequenceChartContributor$FindTextHandler"
45
            id="org.omnetpp.sequencechart.findText"
46
            name="Find...">
47
      </command>
48
      <command
49
            defaultHandler="org.omnetpp.sequencechart.editors.SequenceChartContributor$FindNextHandler"
50
            id="org.omnetpp.sequencechart.findNext"
51
            name="Find Next">
52
      </command>
53
      <command
54
            defaultHandler="org.omnetpp.sequencechart.editors.SequenceChartContributor$RefreshHandler"
55
            id="org.omnetpp.sequencechart.refresh"
56
            name="Refresh">
57
      </command>
58
   </extension>
59
   <extension
60
         point="org.eclipse.ui.bindings">
61
      <key
62
            commandId="org.omnetpp.sequencechart.findText"
63
            contextId="org.omnetpp.context.SequenceChart"
64
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
65
            sequence="Ctrl+F">
66
      </key>
67
      <key
68
            commandId="org.omnetpp.sequencechart.findNext"
69
            contextId="org.omnetpp.context.SequenceChart"
70
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
71
            sequence="Ctrl+K">
72
      </key>
73
      <key
74
            commandId="org.omnetpp.sequencechart.refresh"
75
            contextId="org.omnetpp.context.SequenceChart"
76
            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
77
            sequence="F5">
78
      </key>
79
   </extension>
80
   <extension
81
         point="org.eclipse.ui.contexts">
82
      <context
83
            description="OMNeT++ Eventlog Table"
84
            id="org.omnetpp.context.SequenceChart"
85
            name="SequenceChartContext"
86
            parentId="org.eclipse.ui.contexts.window">
87
      </context>
88
   </extension>
89

  
90
</plugin>
ide/org.omnetpp.sequencechart/sample/mesh-network.elog
1
MC id 1 c cCompoundModule t net60a n net60a cm 1
2
MC id 2 c cCompoundModule t Node pid 1 n rte[0] cm 1
3
GC m 2 g 1048576 n in i 0 o 0
4
GC m 2 g 1048577 n in i 1 o 0
5
GC m 2 g 1048578 n in i 2 o 0
6
GC m 2 g 1048579 n in i 3 o 0
7
GC m 2 g 1048580 n in i 4 o 0
8
GC m 2 g 1048581 n in i 5 o 0
9
GC m 2 g 2621440 n out i 0 o 1
10
GC m 2 g 2621441 n out i 1 o 1
11
GC m 2 g 2621442 n out i 2 o 1
12
GC m 2 g 2621443 n out i 3 o 1
13
GC m 2 g 2621444 n out i 4 o 1
14
GC m 2 g 2621445 n out i 5 o 1
15
MC id 3 c cCompoundModule t Node pid 1 n rte[1] cm 1
16
GC m 3 g 1048576 n in i 0 o 0
17
GC m 3 g 1048577 n in i 1 o 0
18
GC m 3 g 1048578 n in i 2 o 0
19
GC m 3 g 1048579 n in i 3 o 0
20
GC m 3 g 1048580 n in i 4 o 0
21
GC m 3 g 1048581 n in i 5 o 0
22
GC m 3 g 2621440 n out i 0 o 1
23
GC m 3 g 2621441 n out i 1 o 1
24
GC m 3 g 2621442 n out i 2 o 1
25
GC m 3 g 2621443 n out i 3 o 1
26
GC m 3 g 2621444 n out i 4 o 1
27
GC m 3 g 2621445 n out i 5 o 1
28
MC id 4 c cCompoundModule t Node pid 1 n rte[2] cm 1
29
GC m 4 g 1048576 n in i 0 o 0
30
GC m 4 g 1048577 n in i 1 o 0
31
GC m 4 g 1048578 n in i 2 o 0
32
GC m 4 g 1048579 n in i 3 o 0
33
GC m 4 g 1048580 n in i 4 o 0
34
GC m 4 g 1048581 n in i 5 o 0
35
GC m 4 g 2621440 n out i 0 o 1
36
GC m 4 g 2621441 n out i 1 o 1
37
GC m 4 g 2621442 n out i 2 o 1
38
GC m 4 g 2621443 n out i 3 o 1
39
GC m 4 g 2621444 n out i 4 o 1
40
GC m 4 g 2621445 n out i 5 o 1
41
MC id 5 c cCompoundModule t Node pid 1 n rte[3] cm 1
42
GC m 5 g 1048576 n in i 0 o 0
43
GC m 5 g 1048577 n in i 1 o 0
44
GC m 5 g 1048578 n in i 2 o 0
45
GC m 5 g 1048579 n in i 3 o 0
46
GC m 5 g 1048580 n in i 4 o 0
47
GC m 5 g 1048581 n in i 5 o 0
48
GC m 5 g 2621440 n out i 0 o 1
49
GC m 5 g 2621441 n out i 1 o 1
50
GC m 5 g 2621442 n out i 2 o 1
51
GC m 5 g 2621443 n out i 3 o 1
52
GC m 5 g 2621444 n out i 4 o 1
53
GC m 5 g 2621445 n out i 5 o 1
54
MC id 6 c cCompoundModule t Node pid 1 n rte[4] cm 1
55
GC m 6 g 1048576 n in i 0 o 0
56
GC m 6 g 1048577 n in i 1 o 0
57
GC m 6 g 1048578 n in i 2 o 0
58
GC m 6 g 1048579 n in i 3 o 0
59
GC m 6 g 1048580 n in i 4 o 0
60
GC m 6 g 1048581 n in i 5 o 0
61
GC m 6 g 2621440 n out i 0 o 1
62
GC m 6 g 2621441 n out i 1 o 1
63
GC m 6 g 2621442 n out i 2 o 1
64
GC m 6 g 2621443 n out i 3 o 1
65
GC m 6 g 2621444 n out i 4 o 1
66
GC m 6 g 2621445 n out i 5 o 1
67
MC id 7 c cCompoundModule t Node pid 1 n rte[5] cm 1
68
GC m 7 g 1048576 n in i 0 o 0
69
GC m 7 g 1048577 n in i 1 o 0
70
GC m 7 g 1048578 n in i 2 o 0
71
GC m 7 g 1048579 n in i 3 o 0
72
GC m 7 g 1048580 n in i 4 o 0
73
GC m 7 g 1048581 n in i 5 o 0
74
GC m 7 g 2621440 n out i 0 o 1
75
GC m 7 g 2621441 n out i 1 o 1
76
GC m 7 g 2621442 n out i 2 o 1
77
GC m 7 g 2621443 n out i 3 o 1
78
GC m 7 g 2621444 n out i 4 o 1
79
GC m 7 g 2621445 n out i 5 o 1
80
MC id 8 c cCompoundModule t Node pid 1 n rte[6] cm 1
81
GC m 8 g 1048576 n in i 0 o 0
82
GC m 8 g 1048577 n in i 1 o 0
83
GC m 8 g 1048578 n in i 2 o 0
84
GC m 8 g 1048579 n in i 3 o 0
85
GC m 8 g 1048580 n in i 4 o 0
86
GC m 8 g 1048581 n in i 5 o 0
87
GC m 8 g 2621440 n out i 0 o 1
88
GC m 8 g 2621441 n out i 1 o 1
89
GC m 8 g 2621442 n out i 2 o 1
90
GC m 8 g 2621443 n out i 3 o 1
91
GC m 8 g 2621444 n out i 4 o 1
92
GC m 8 g 2621445 n out i 5 o 1
93
MC id 9 c cCompoundModule t Node pid 1 n rte[7] cm 1
94
GC m 9 g 1048576 n in i 0 o 0
95
GC m 9 g 1048577 n in i 1 o 0
96
GC m 9 g 1048578 n in i 2 o 0
97
GC m 9 g 1048579 n in i 3 o 0
98
GC m 9 g 1048580 n in i 4 o 0
99
GC m 9 g 1048581 n in i 5 o 0
100
GC m 9 g 2621440 n out i 0 o 1
101
GC m 9 g 2621441 n out i 1 o 1
102
GC m 9 g 2621442 n out i 2 o 1
103
GC m 9 g 2621443 n out i 3 o 1
104
GC m 9 g 2621444 n out i 4 o 1
105
GC m 9 g 2621445 n out i 5 o 1
106
MC id 10 c cCompoundModule t Node pid 1 n rte[8] cm 1
107
GC m 10 g 1048576 n in i 0 o 0
108
GC m 10 g 1048577 n in i 1 o 0
109
GC m 10 g 1048578 n in i 2 o 0
110
GC m 10 g 1048579 n in i 3 o 0
111
GC m 10 g 1048580 n in i 4 o 0
112
GC m 10 g 1048581 n in i 5 o 0
113
GC m 10 g 2621440 n out i 0 o 1
114
GC m 10 g 2621441 n out i 1 o 1
115
GC m 10 g 2621442 n out i 2 o 1
116
GC m 10 g 2621443 n out i 3 o 1
117
GC m 10 g 2621444 n out i 4 o 1
118
GC m 10 g 2621445 n out i 5 o 1
119
MC id 11 c cCompoundModule t Node pid 1 n rte[9] cm 1
120
GC m 11 g 1048576 n in i 0 o 0
121
GC m 11 g 1048577 n in i 1 o 0
122
GC m 11 g 1048578 n in i 2 o 0
123
GC m 11 g 1048579 n in i 3 o 0
124
GC m 11 g 1048580 n in i 4 o 0
125
GC m 11 g 1048581 n in i 5 o 0
126
GC m 11 g 2621440 n out i 0 o 1
127
GC m 11 g 2621441 n out i 1 o 1
128
GC m 11 g 2621442 n out i 2 o 1
129
GC m 11 g 2621443 n out i 3 o 1
130
GC m 11 g 2621444 n out i 4 o 1
131
GC m 11 g 2621445 n out i 5 o 1
132
MC id 12 c cCompoundModule t Node pid 1 n rte[10] cm 1
133
GC m 12 g 1048576 n in i 0 o 0
134
GC m 12 g 1048577 n in i 1 o 0
135
GC m 12 g 1048578 n in i 2 o 0
136
GC m 12 g 1048579 n in i 3 o 0
137
GC m 12 g 1048580 n in i 4 o 0
138
GC m 12 g 1048581 n in i 5 o 0
139
GC m 12 g 2621440 n out i 0 o 1
140
GC m 12 g 2621441 n out i 1 o 1
141
GC m 12 g 2621442 n out i 2 o 1
142
GC m 12 g 2621443 n out i 3 o 1
143
GC m 12 g 2621444 n out i 4 o 1
144
GC m 12 g 2621445 n out i 5 o 1
145
MC id 13 c cCompoundModule t Node pid 1 n rte[11] cm 1
146
GC m 13 g 1048576 n in i 0 o 0
147
GC m 13 g 1048577 n in i 1 o 0
148
GC m 13 g 1048578 n in i 2 o 0
149
GC m 13 g 1048579 n in i 3 o 0
150
GC m 13 g 1048580 n in i 4 o 0
151
GC m 13 g 1048581 n in i 5 o 0
152
GC m 13 g 2621440 n out i 0 o 1
153
GC m 13 g 2621441 n out i 1 o 1
154
GC m 13 g 2621442 n out i 2 o 1
155
GC m 13 g 2621443 n out i 3 o 1
156
GC m 13 g 2621444 n out i 4 o 1
157
GC m 13 g 2621445 n out i 5 o 1
158
MC id 14 c cCompoundModule t Node pid 1 n rte[12] cm 1
159
GC m 14 g 1048576 n in i 0 o 0
160
GC m 14 g 1048577 n in i 1 o 0
161
GC m 14 g 1048578 n in i 2 o 0
162
GC m 14 g 1048579 n in i 3 o 0
163
GC m 14 g 1048580 n in i 4 o 0
164
GC m 14 g 1048581 n in i 5 o 0
165
GC m 14 g 2621440 n out i 0 o 1
166
GC m 14 g 2621441 n out i 1 o 1
167
GC m 14 g 2621442 n out i 2 o 1
168
GC m 14 g 2621443 n out i 3 o 1
169
GC m 14 g 2621444 n out i 4 o 1
170
GC m 14 g 2621445 n out i 5 o 1
171
MC id 15 c cCompoundModule t Node pid 1 n rte[13] cm 1
172
GC m 15 g 1048576 n in i 0 o 0
173
GC m 15 g 1048577 n in i 1 o 0
174
GC m 15 g 1048578 n in i 2 o 0
175
GC m 15 g 1048579 n in i 3 o 0
176
GC m 15 g 1048580 n in i 4 o 0
177
GC m 15 g 1048581 n in i 5 o 0
178
GC m 15 g 2621440 n out i 0 o 1
179
GC m 15 g 2621441 n out i 1 o 1
180
GC m 15 g 2621442 n out i 2 o 1
181
GC m 15 g 2621443 n out i 3 o 1
182
GC m 15 g 2621444 n out i 4 o 1
183
GC m 15 g 2621445 n out i 5 o 1
184
MC id 16 c cCompoundModule t Node pid 1 n rte[14] cm 1
185
GC m 16 g 1048576 n in i 0 o 0
186
GC m 16 g 1048577 n in i 1 o 0
187
GC m 16 g 1048578 n in i 2 o 0
188
GC m 16 g 1048579 n in i 3 o 0
189
GC m 16 g 1048580 n in i 4 o 0
190
GC m 16 g 1048581 n in i 5 o 0
191
GC m 16 g 2621440 n out i 0 o 1
192
GC m 16 g 2621441 n out i 1 o 1
193
GC m 16 g 2621442 n out i 2 o 1
194
GC m 16 g 2621443 n out i 3 o 1
195
GC m 16 g 2621444 n out i 4 o 1
196
GC m 16 g 2621445 n out i 5 o 1
197
MC id 17 c cCompoundModule t Node pid 1 n rte[15] cm 1
198
GC m 17 g 1048576 n in i 0 o 0
199
GC m 17 g 1048577 n in i 1 o 0
200
GC m 17 g 1048578 n in i 2 o 0
201
GC m 17 g 1048579 n in i 3 o 0
202
GC m 17 g 1048580 n in i 4 o 0
203
GC m 17 g 1048581 n in i 5 o 0
204
GC m 17 g 2621440 n out i 0 o 1
205
GC m 17 g 2621441 n out i 1 o 1
206
GC m 17 g 2621442 n out i 2 o 1
207
GC m 17 g 2621443 n out i 3 o 1
208
GC m 17 g 2621444 n out i 4 o 1
209
GC m 17 g 2621445 n out i 5 o 1
210
MC id 18 c cCompoundModule t Node pid 1 n rte[16] cm 1
211
GC m 18 g 1048576 n in i 0 o 0
212
GC m 18 g 1048577 n in i 1 o 0
213
GC m 18 g 1048578 n in i 2 o 0
214
GC m 18 g 1048579 n in i 3 o 0
215
GC m 18 g 1048580 n in i 4 o 0
216
GC m 18 g 1048581 n in i 5 o 0
217
GC m 18 g 2621440 n out i 0 o 1
218
GC m 18 g 2621441 n out i 1 o 1
219
GC m 18 g 2621442 n out i 2 o 1
220
GC m 18 g 2621443 n out i 3 o 1
221
GC m 18 g 2621444 n out i 4 o 1
222
GC m 18 g 2621445 n out i 5 o 1
223
MC id 19 c cCompoundModule t Node pid 1 n rte[17] cm 1
224
GC m 19 g 1048576 n in i 0 o 0
225
GC m 19 g 1048577 n in i 1 o 0
226
GC m 19 g 1048578 n in i 2 o 0
227
GC m 19 g 1048579 n in i 3 o 0
228
GC m 19 g 1048580 n in i 4 o 0
229
GC m 19 g 1048581 n in i 5 o 0
230
GC m 19 g 2621440 n out i 0 o 1
231
GC m 19 g 2621441 n out i 1 o 1
232
GC m 19 g 2621442 n out i 2 o 1
233
GC m 19 g 2621443 n out i 3 o 1
234
GC m 19 g 2621444 n out i 4 o 1
235
GC m 19 g 2621445 n out i 5 o 1
236
MC id 20 c cCompoundModule t Node pid 1 n rte[18] cm 1
237
GC m 20 g 1048576 n in i 0 o 0
238
GC m 20 g 1048577 n in i 1 o 0
239
GC m 20 g 1048578 n in i 2 o 0
240
GC m 20 g 1048579 n in i 3 o 0
241
GC m 20 g 1048580 n in i 4 o 0
242
GC m 20 g 1048581 n in i 5 o 0
243
GC m 20 g 2621440 n out i 0 o 1
244
GC m 20 g 2621441 n out i 1 o 1
245
GC m 20 g 2621442 n out i 2 o 1
246
GC m 20 g 2621443 n out i 3 o 1
247
GC m 20 g 2621444 n out i 4 o 1
248
GC m 20 g 2621445 n out i 5 o 1
249
MC id 21 c cCompoundModule t Node pid 1 n rte[19] cm 1
250
GC m 21 g 1048576 n in i 0 o 0
251
GC m 21 g 1048577 n in i 1 o 0
252
GC m 21 g 1048578 n in i 2 o 0
253
GC m 21 g 1048579 n in i 3 o 0
254
GC m 21 g 1048580 n in i 4 o 0
255
GC m 21 g 1048581 n in i 5 o 0
256
GC m 21 g 2621440 n out i 0 o 1
257
GC m 21 g 2621441 n out i 1 o 1
258
GC m 21 g 2621442 n out i 2 o 1
259
GC m 21 g 2621443 n out i 3 o 1
260
GC m 21 g 2621444 n out i 4 o 1
261
GC m 21 g 2621445 n out i 5 o 1
262
MC id 22 c cCompoundModule t Node pid 1 n rte[20] cm 1
263
GC m 22 g 1048576 n in i 0 o 0
264
GC m 22 g 1048577 n in i 1 o 0
265
GC m 22 g 1048578 n in i 2 o 0
266
GC m 22 g 1048579 n in i 3 o 0
267
GC m 22 g 1048580 n in i 4 o 0
268
GC m 22 g 1048581 n in i 5 o 0
269
GC m 22 g 2621440 n out i 0 o 1
270
GC m 22 g 2621441 n out i 1 o 1
271
GC m 22 g 2621442 n out i 2 o 1
272
GC m 22 g 2621443 n out i 3 o 1
273
GC m 22 g 2621444 n out i 4 o 1
274
GC m 22 g 2621445 n out i 5 o 1
275
MC id 23 c cCompoundModule t Node pid 1 n rte[21] cm 1
276
GC m 23 g 1048576 n in i 0 o 0
277
GC m 23 g 1048577 n in i 1 o 0
278
GC m 23 g 1048578 n in i 2 o 0
279
GC m 23 g 1048579 n in i 3 o 0
280
GC m 23 g 1048580 n in i 4 o 0
281
GC m 23 g 1048581 n in i 5 o 0
282
GC m 23 g 2621440 n out i 0 o 1
283
GC m 23 g 2621441 n out i 1 o 1
284
GC m 23 g 2621442 n out i 2 o 1
285
GC m 23 g 2621443 n out i 3 o 1
286
GC m 23 g 2621444 n out i 4 o 1
287
GC m 23 g 2621445 n out i 5 o 1
288
MC id 24 c cCompoundModule t Node pid 1 n rte[22] cm 1
289
GC m 24 g 1048576 n in i 0 o 0
290
GC m 24 g 1048577 n in i 1 o 0
291
GC m 24 g 1048578 n in i 2 o 0
292
GC m 24 g 1048579 n in i 3 o 0
293
GC m 24 g 1048580 n in i 4 o 0
294
GC m 24 g 1048581 n in i 5 o 0
295
GC m 24 g 2621440 n out i 0 o 1
296
GC m 24 g 2621441 n out i 1 o 1
297
GC m 24 g 2621442 n out i 2 o 1
298
GC m 24 g 2621443 n out i 3 o 1
299
GC m 24 g 2621444 n out i 4 o 1
300
GC m 24 g 2621445 n out i 5 o 1
301
MC id 25 c cCompoundModule t Node pid 1 n rte[23] cm 1
302
GC m 25 g 1048576 n in i 0 o 0
303
GC m 25 g 1048577 n in i 1 o 0
304
GC m 25 g 1048578 n in i 2 o 0
305
GC m 25 g 1048579 n in i 3 o 0
306
GC m 25 g 1048580 n in i 4 o 0
307
GC m 25 g 1048581 n in i 5 o 0
308
GC m 25 g 2621440 n out i 0 o 1
309
GC m 25 g 2621441 n out i 1 o 1
310
GC m 25 g 2621442 n out i 2 o 1
311
GC m 25 g 2621443 n out i 3 o 1
312
GC m 25 g 2621444 n out i 4 o 1
313
GC m 25 g 2621445 n out i 5 o 1
314
MC id 26 c cCompoundModule t Node pid 1 n rte[24] cm 1
315
GC m 26 g 1048576 n in i 0 o 0
316
GC m 26 g 1048577 n in i 1 o 0
317
GC m 26 g 1048578 n in i 2 o 0
318
GC m 26 g 1048579 n in i 3 o 0
319
GC m 26 g 1048580 n in i 4 o 0
320
GC m 26 g 1048581 n in i 5 o 0
321
GC m 26 g 2621440 n out i 0 o 1
322
GC m 26 g 2621441 n out i 1 o 1
323
GC m 26 g 2621442 n out i 2 o 1
324
GC m 26 g 2621443 n out i 3 o 1
325
GC m 26 g 2621444 n out i 4 o 1
326
GC m 26 g 2621445 n out i 5 o 1
327
MC id 27 c cCompoundModule t Node pid 1 n rte[25] cm 1
328
GC m 27 g 1048576 n in i 0 o 0
329
GC m 27 g 1048577 n in i 1 o 0
330
GC m 27 g 1048578 n in i 2 o 0
331
GC m 27 g 1048579 n in i 3 o 0
332
GC m 27 g 1048580 n in i 4 o 0
333
GC m 27 g 1048581 n in i 5 o 0
334
GC m 27 g 2621440 n out i 0 o 1
335
GC m 27 g 2621441 n out i 1 o 1
336
GC m 27 g 2621442 n out i 2 o 1
337
GC m 27 g 2621443 n out i 3 o 1
338
GC m 27 g 2621444 n out i 4 o 1
339
GC m 27 g 2621445 n out i 5 o 1
340
MC id 28 c cCompoundModule t Node pid 1 n rte[26] cm 1
341
GC m 28 g 1048576 n in i 0 o 0
342
GC m 28 g 1048577 n in i 1 o 0
343
GC m 28 g 1048578 n in i 2 o 0
344
GC m 28 g 1048579 n in i 3 o 0
345
GC m 28 g 1048580 n in i 4 o 0
346
GC m 28 g 1048581 n in i 5 o 0
347
GC m 28 g 2621440 n out i 0 o 1
348
GC m 28 g 2621441 n out i 1 o 1
349
GC m 28 g 2621442 n out i 2 o 1
350
GC m 28 g 2621443 n out i 3 o 1
351
GC m 28 g 2621444 n out i 4 o 1
352
GC m 28 g 2621445 n out i 5 o 1
353
MC id 29 c cCompoundModule t Node pid 1 n rte[27] cm 1
354
GC m 29 g 1048576 n in i 0 o 0
355
GC m 29 g 1048577 n in i 1 o 0
356
GC m 29 g 1048578 n in i 2 o 0
357
GC m 29 g 1048579 n in i 3 o 0
358
GC m 29 g 1048580 n in i 4 o 0
359
GC m 29 g 1048581 n in i 5 o 0
360
GC m 29 g 2621440 n out i 0 o 1
361
GC m 29 g 2621441 n out i 1 o 1
362
GC m 29 g 2621442 n out i 2 o 1
363
GC m 29 g 2621443 n out i 3 o 1
364
GC m 29 g 2621444 n out i 4 o 1
365
GC m 29 g 2621445 n out i 5 o 1
366
MC id 30 c cCompoundModule t Node pid 1 n rte[28] cm 1
367
GC m 30 g 1048576 n in i 0 o 0
368
GC m 30 g 1048577 n in i 1 o 0
369
GC m 30 g 1048578 n in i 2 o 0
370
GC m 30 g 1048579 n in i 3 o 0
371
GC m 30 g 1048580 n in i 4 o 0
372
GC m 30 g 1048581 n in i 5 o 0
373
GC m 30 g 2621440 n out i 0 o 1
374
GC m 30 g 2621441 n out i 1 o 1
375
GC m 30 g 2621442 n out i 2 o 1
376
GC m 30 g 2621443 n out i 3 o 1
377
GC m 30 g 2621444 n out i 4 o 1
378
GC m 30 g 2621445 n out i 5 o 1
379
MC id 31 c cCompoundModule t Node pid 1 n rte[29] cm 1
380
GC m 31 g 1048576 n in i 0 o 0
381
GC m 31 g 1048577 n in i 1 o 0
382
GC m 31 g 1048578 n in i 2 o 0
383
GC m 31 g 1048579 n in i 3 o 0
384
GC m 31 g 1048580 n in i 4 o 0
385
GC m 31 g 1048581 n in i 5 o 0
386
GC m 31 g 2621440 n out i 0 o 1
387
GC m 31 g 2621441 n out i 1 o 1
388
GC m 31 g 2621442 n out i 2 o 1
389
GC m 31 g 2621443 n out i 3 o 1
390
GC m 31 g 2621444 n out i 4 o 1
391
GC m 31 g 2621445 n out i 5 o 1
392
MC id 32 c cCompoundModule t Node pid 1 n rte[30] cm 1
393
GC m 32 g 1048576 n in i 0 o 0
394
GC m 32 g 1048577 n in i 1 o 0
395
GC m 32 g 1048578 n in i 2 o 0
396
GC m 32 g 1048579 n in i 3 o 0
397
GC m 32 g 1048580 n in i 4 o 0
398
GC m 32 g 1048581 n in i 5 o 0
399
GC m 32 g 2621440 n out i 0 o 1
400
GC m 32 g 2621441 n out i 1 o 1
401
GC m 32 g 2621442 n out i 2 o 1
402
GC m 32 g 2621443 n out i 3 o 1
403
GC m 32 g 2621444 n out i 4 o 1
404
GC m 32 g 2621445 n out i 5 o 1
405
MC id 33 c cCompoundModule t Node pid 1 n rte[31] cm 1
406
GC m 33 g 1048576 n in i 0 o 0
407
GC m 33 g 1048577 n in i 1 o 0
408
GC m 33 g 1048578 n in i 2 o 0
409
GC m 33 g 1048579 n in i 3 o 0
410
GC m 33 g 1048580 n in i 4 o 0
411
GC m 33 g 1048581 n in i 5 o 0
412
GC m 33 g 2621440 n out i 0 o 1
413
GC m 33 g 2621441 n out i 1 o 1
414
GC m 33 g 2621442 n out i 2 o 1
415
GC m 33 g 2621443 n out i 3 o 1
416
GC m 33 g 2621444 n out i 4 o 1
417
GC m 33 g 2621445 n out i 5 o 1
418
MC id 34 c cCompoundModule t Node pid 1 n rte[32] cm 1
419
GC m 34 g 1048576 n in i 0 o 0
420
GC m 34 g 1048577 n in i 1 o 0
421
GC m 34 g 1048578 n in i 2 o 0
422
GC m 34 g 1048579 n in i 3 o 0
423
GC m 34 g 1048580 n in i 4 o 0
424
GC m 34 g 1048581 n in i 5 o 0
425
GC m 34 g 2621440 n out i 0 o 1
426
GC m 34 g 2621441 n out i 1 o 1
427
GC m 34 g 2621442 n out i 2 o 1
428
GC m 34 g 2621443 n out i 3 o 1
429
GC m 34 g 2621444 n out i 4 o 1
430
GC m 34 g 2621445 n out i 5 o 1
431
MC id 35 c cCompoundModule t Node pid 1 n rte[33] cm 1
432
GC m 35 g 1048576 n in i 0 o 0
433
GC m 35 g 1048577 n in i 1 o 0
434
GC m 35 g 1048578 n in i 2 o 0
435
GC m 35 g 1048579 n in i 3 o 0
436
GC m 35 g 1048580 n in i 4 o 0
437
GC m 35 g 1048581 n in i 5 o 0
438
GC m 35 g 2621440 n out i 0 o 1
439
GC m 35 g 2621441 n out i 1 o 1
440
GC m 35 g 2621442 n out i 2 o 1
441
GC m 35 g 2621443 n out i 3 o 1
442
GC m 35 g 2621444 n out i 4 o 1
443
GC m 35 g 2621445 n out i 5 o 1
444
MC id 36 c cCompoundModule t Node pid 1 n rte[34] cm 1
445
GC m 36 g 1048576 n in i 0 o 0
446
GC m 36 g 1048577 n in i 1 o 0
447
GC m 36 g 1048578 n in i 2 o 0
448
GC m 36 g 1048579 n in i 3 o 0
449
GC m 36 g 1048580 n in i 4 o 0
450
GC m 36 g 1048581 n in i 5 o 0
451
GC m 36 g 2621440 n out i 0 o 1
452
GC m 36 g 2621441 n out i 1 o 1
453
GC m 36 g 2621442 n out i 2 o 1
454
GC m 36 g 2621443 n out i 3 o 1
455
GC m 36 g 2621444 n out i 4 o 1
456
GC m 36 g 2621445 n out i 5 o 1
457
MC id 37 c cCompoundModule t Node pid 1 n rte[35] cm 1
458
GC m 37 g 1048576 n in i 0 o 0
459
GC m 37 g 1048577 n in i 1 o 0
460
GC m 37 g 1048578 n in i 2 o 0
461
GC m 37 g 1048579 n in i 3 o 0
462
GC m 37 g 1048580 n in i 4 o 0
463
GC m 37 g 1048581 n in i 5 o 0
464
GC m 37 g 2621440 n out i 0 o 1
465
GC m 37 g 2621441 n out i 1 o 1
466
GC m 37 g 2621442 n out i 2 o 1
467
GC m 37 g 2621443 n out i 3 o 1
468
GC m 37 g 2621444 n out i 4 o 1
469
GC m 37 g 2621445 n out i 5 o 1
470
MC id 38 c cCompoundModule t Node pid 1 n rte[36] cm 1
471
GC m 38 g 1048576 n in i 0 o 0
472
GC m 38 g 1048577 n in i 1 o 0
473
GC m 38 g 1048578 n in i 2 o 0
474
GC m 38 g 1048579 n in i 3 o 0
475
GC m 38 g 1048580 n in i 4 o 0
476
GC m 38 g 1048581 n in i 5 o 0
477
GC m 38 g 2621440 n out i 0 o 1
478
GC m 38 g 2621441 n out i 1 o 1
479
GC m 38 g 2621442 n out i 2 o 1
480
GC m 38 g 2621443 n out i 3 o 1
481
GC m 38 g 2621444 n out i 4 o 1
482
GC m 38 g 2621445 n out i 5 o 1
483
MC id 39 c cCompoundModule t Node pid 1 n rte[37] cm 1
484
GC m 39 g 1048576 n in i 0 o 0
485
GC m 39 g 1048577 n in i 1 o 0
486
GC m 39 g 1048578 n in i 2 o 0
487
GC m 39 g 1048579 n in i 3 o 0
488
GC m 39 g 1048580 n in i 4 o 0
489
GC m 39 g 1048581 n in i 5 o 0
490
GC m 39 g 2621440 n out i 0 o 1
491
GC m 39 g 2621441 n out i 1 o 1
492
GC m 39 g 2621442 n out i 2 o 1
493
GC m 39 g 2621443 n out i 3 o 1
494
GC m 39 g 2621444 n out i 4 o 1
495
GC m 39 g 2621445 n out i 5 o 1
496
MC id 40 c cCompoundModule t Node pid 1 n rte[38] cm 1
497
GC m 40 g 1048576 n in i 0 o 0
498
GC m 40 g 1048577 n in i 1 o 0
499
GC m 40 g 1048578 n in i 2 o 0
500
GC m 40 g 1048579 n in i 3 o 0
501
GC m 40 g 1048580 n in i 4 o 0
502
GC m 40 g 1048581 n in i 5 o 0
503
GC m 40 g 2621440 n out i 0 o 1
504
GC m 40 g 2621441 n out i 1 o 1
505
GC m 40 g 2621442 n out i 2 o 1
506
GC m 40 g 2621443 n out i 3 o 1
507
GC m 40 g 2621444 n out i 4 o 1
508
GC m 40 g 2621445 n out i 5 o 1
509
MC id 41 c cCompoundModule t Node pid 1 n rte[39] cm 1
510
GC m 41 g 1048576 n in i 0 o 0
511
GC m 41 g 1048577 n in i 1 o 0
512
GC m 41 g 1048578 n in i 2 o 0
513
GC m 41 g 1048579 n in i 3 o 0
514
GC m 41 g 1048580 n in i 4 o 0
515
GC m 41 g 1048581 n in i 5 o 0
516
GC m 41 g 2621440 n out i 0 o 1
517
GC m 41 g 2621441 n out i 1 o 1
518
GC m 41 g 2621442 n out i 2 o 1
519
GC m 41 g 2621443 n out i 3 o 1
520
GC m 41 g 2621444 n out i 4 o 1
521
GC m 41 g 2621445 n out i 5 o 1
522
MC id 42 c cCompoundModule t Node pid 1 n rte[40] cm 1
523
GC m 42 g 1048576 n in i 0 o 0
524
GC m 42 g 1048577 n in i 1 o 0
525
GC m 42 g 1048578 n in i 2 o 0
526
GC m 42 g 1048579 n in i 3 o 0
527
GC m 42 g 1048580 n in i 4 o 0
528
GC m 42 g 1048581 n in i 5 o 0
529
GC m 42 g 2621440 n out i 0 o 1
530
GC m 42 g 2621441 n out i 1 o 1
531
GC m 42 g 2621442 n out i 2 o 1
532
GC m 42 g 2621443 n out i 3 o 1
533
GC m 42 g 2621444 n out i 4 o 1
534
GC m 42 g 2621445 n out i 5 o 1
535
MC id 43 c cCompoundModule t Node pid 1 n rte[41] cm 1
536
GC m 43 g 1048576 n in i 0 o 0
537
GC m 43 g 1048577 n in i 1 o 0
538
GC m 43 g 1048578 n in i 2 o 0
539
GC m 43 g 1048579 n in i 3 o 0
540
GC m 43 g 1048580 n in i 4 o 0
541
GC m 43 g 1048581 n in i 5 o 0
542
GC m 43 g 2621440 n out i 0 o 1
543
GC m 43 g 2621441 n out i 1 o 1
544
GC m 43 g 2621442 n out i 2 o 1
545
GC m 43 g 2621443 n out i 3 o 1
546
GC m 43 g 2621444 n out i 4 o 1
547
GC m 43 g 2621445 n out i 5 o 1
548
MC id 44 c cCompoundModule t Node pid 1 n rte[42] cm 1
549
GC m 44 g 1048576 n in i 0 o 0
550
GC m 44 g 1048577 n in i 1 o 0
551
GC m 44 g 1048578 n in i 2 o 0
552
GC m 44 g 1048579 n in i 3 o 0
553
GC m 44 g 1048580 n in i 4 o 0
554
GC m 44 g 1048581 n in i 5 o 0
555
GC m 44 g 2621440 n out i 0 o 1
556
GC m 44 g 2621441 n out i 1 o 1
557
GC m 44 g 2621442 n out i 2 o 1
558
GC m 44 g 2621443 n out i 3 o 1
559
GC m 44 g 2621444 n out i 4 o 1
560
GC m 44 g 2621445 n out i 5 o 1
561
MC id 45 c cCompoundModule t Node pid 1 n rte[43] cm 1
562
GC m 45 g 1048576 n in i 0 o 0
563
GC m 45 g 1048577 n in i 1 o 0
564
GC m 45 g 1048578 n in i 2 o 0
565
GC m 45 g 1048579 n in i 3 o 0
566
GC m 45 g 1048580 n in i 4 o 0
567
GC m 45 g 1048581 n in i 5 o 0
568
GC m 45 g 2621440 n out i 0 o 1
569
GC m 45 g 2621441 n out i 1 o 1
570
GC m 45 g 2621442 n out i 2 o 1
571
GC m 45 g 2621443 n out i 3 o 1
572
GC m 45 g 2621444 n out i 4 o 1
573
GC m 45 g 2621445 n out i 5 o 1
574
MC id 46 c cCompoundModule t Node pid 1 n rte[44] cm 1
575
GC m 46 g 1048576 n in i 0 o 0
576
GC m 46 g 1048577 n in i 1 o 0
577
GC m 46 g 1048578 n in i 2 o 0
578
GC m 46 g 1048579 n in i 3 o 0
579
GC m 46 g 1048580 n in i 4 o 0
580
GC m 46 g 1048581 n in i 5 o 0
581
GC m 46 g 2621440 n out i 0 o 1
582
GC m 46 g 2621441 n out i 1 o 1
583
GC m 46 g 2621442 n out i 2 o 1
584
GC m 46 g 2621443 n out i 3 o 1
585
GC m 46 g 2621444 n out i 4 o 1
586
GC m 46 g 2621445 n out i 5 o 1
587
MC id 47 c cCompoundModule t Node pid 1 n rte[45] cm 1
588
GC m 47 g 1048576 n in i 0 o 0
589
GC m 47 g 1048577 n in i 1 o 0
590
GC m 47 g 1048578 n in i 2 o 0
591
GC m 47 g 1048579 n in i 3 o 0
592
GC m 47 g 1048580 n in i 4 o 0
593
GC m 47 g 1048581 n in i 5 o 0
594
GC m 47 g 2621440 n out i 0 o 1
595
GC m 47 g 2621441 n out i 1 o 1
596
GC m 47 g 2621442 n out i 2 o 1
597
GC m 47 g 2621443 n out i 3 o 1
598
GC m 47 g 2621444 n out i 4 o 1
599
GC m 47 g 2621445 n out i 5 o 1
600
MC id 48 c cCompoundModule t Node pid 1 n rte[46] cm 1
601
GC m 48 g 1048576 n in i 0 o 0
602
GC m 48 g 1048577 n in i 1 o 0
603
GC m 48 g 1048578 n in i 2 o 0
604
GC m 48 g 1048579 n in i 3 o 0
605
GC m 48 g 1048580 n in i 4 o 0
606
GC m 48 g 1048581 n in i 5 o 0
607
GC m 48 g 2621440 n out i 0 o 1
608
GC m 48 g 2621441 n out i 1 o 1
609
GC m 48 g 2621442 n out i 2 o 1
610
GC m 48 g 2621443 n out i 3 o 1
611
GC m 48 g 2621444 n out i 4 o 1
612
GC m 48 g 2621445 n out i 5 o 1
613
MC id 49 c cCompoundModule t Node pid 1 n rte[47] cm 1
614
GC m 49 g 1048576 n in i 0 o 0
615
GC m 49 g 1048577 n in i 1 o 0
616
GC m 49 g 1048578 n in i 2 o 0
617
GC m 49 g 1048579 n in i 3 o 0
618
GC m 49 g 1048580 n in i 4 o 0
619
GC m 49 g 1048581 n in i 5 o 0
620
GC m 49 g 2621440 n out i 0 o 1
621
GC m 49 g 2621441 n out i 1 o 1
622
GC m 49 g 2621442 n out i 2 o 1
623
GC m 49 g 2621443 n out i 3 o 1
624
GC m 49 g 2621444 n out i 4 o 1
625
GC m 49 g 2621445 n out i 5 o 1
626
MC id 50 c cCompoundModule t Node pid 1 n rte[48] cm 1
627
GC m 50 g 1048576 n in i 0 o 0
628
GC m 50 g 1048577 n in i 1 o 0
629
GC m 50 g 1048578 n in i 2 o 0
630
GC m 50 g 1048579 n in i 3 o 0
631
GC m 50 g 1048580 n in i 4 o 0
632
GC m 50 g 1048581 n in i 5 o 0
633
GC m 50 g 2621440 n out i 0 o 1
634
GC m 50 g 2621441 n out i 1 o 1
635
GC m 50 g 2621442 n out i 2 o 1
636
GC m 50 g 2621443 n out i 3 o 1
637
GC m 50 g 2621444 n out i 4 o 1
638
GC m 50 g 2621445 n out i 5 o 1
639
MC id 51 c cCompoundModule t Node pid 1 n rte[49] cm 1
640
GC m 51 g 1048576 n in i 0 o 0
641
GC m 51 g 1048577 n in i 1 o 0
642
GC m 51 g 1048578 n in i 2 o 0
643
GC m 51 g 1048579 n in i 3 o 0
644
GC m 51 g 1048580 n in i 4 o 0
645
GC m 51 g 1048581 n in i 5 o 0
646
GC m 51 g 2621440 n out i 0 o 1
647
GC m 51 g 2621441 n out i 1 o 1
648
GC m 51 g 2621442 n out i 2 o 1
649
GC m 51 g 2621443 n out i 3 o 1
650
GC m 51 g 2621444 n out i 4 o 1
651
GC m 51 g 2621445 n out i 5 o 1
652
MC id 52 c cCompoundModule t Node pid 1 n rte[50] cm 1
653
GC m 52 g 1048576 n in i 0 o 0
654
GC m 52 g 1048577 n in i 1 o 0
655
GC m 52 g 1048578 n in i 2 o 0
656
GC m 52 g 1048579 n in i 3 o 0
657
GC m 52 g 1048580 n in i 4 o 0
658
GC m 52 g 1048581 n in i 5 o 0
659
GC m 52 g 2621440 n out i 0 o 1
660
GC m 52 g 2621441 n out i 1 o 1
661
GC m 52 g 2621442 n out i 2 o 1
662
GC m 52 g 2621443 n out i 3 o 1
663
GC m 52 g 2621444 n out i 4 o 1
664
GC m 52 g 2621445 n out i 5 o 1
665
MC id 53 c cCompoundModule t Node pid 1 n rte[51] cm 1
666
GC m 53 g 1048576 n in i 0 o 0
667
GC m 53 g 1048577 n in i 1 o 0
668
GC m 53 g 1048578 n in i 2 o 0
669
GC m 53 g 1048579 n in i 3 o 0
670
GC m 53 g 1048580 n in i 4 o 0
671
GC m 53 g 1048581 n in i 5 o 0
672
GC m 53 g 2621440 n out i 0 o 1
673
GC m 53 g 2621441 n out i 1 o 1
674
GC m 53 g 2621442 n out i 2 o 1
675
GC m 53 g 2621443 n out i 3 o 1
676
GC m 53 g 2621444 n out i 4 o 1
677
GC m 53 g 2621445 n out i 5 o 1
678
MC id 54 c cCompoundModule t Node pid 1 n rte[52] cm 1
679
GC m 54 g 1048576 n in i 0 o 0
680
GC m 54 g 1048577 n in i 1 o 0
681
GC m 54 g 1048578 n in i 2 o 0
682
GC m 54 g 1048579 n in i 3 o 0
683
GC m 54 g 1048580 n in i 4 o 0
684
GC m 54 g 1048581 n in i 5 o 0
685
GC m 54 g 2621440 n out i 0 o 1
686
GC m 54 g 2621441 n out i 1 o 1
687
GC m 54 g 2621442 n out i 2 o 1
688
GC m 54 g 2621443 n out i 3 o 1
689
GC m 54 g 2621444 n out i 4 o 1
690
GC m 54 g 2621445 n out i 5 o 1
691
MC id 55 c cCompoundModule t Node pid 1 n rte[53] cm 1
692
GC m 55 g 1048576 n in i 0 o 0
693
GC m 55 g 1048577 n in i 1 o 0
694
GC m 55 g 1048578 n in i 2 o 0
695
GC m 55 g 1048579 n in i 3 o 0
696
GC m 55 g 1048580 n in i 4 o 0
697
GC m 55 g 1048581 n in i 5 o 0
698
GC m 55 g 2621440 n out i 0 o 1
699
GC m 55 g 2621441 n out i 1 o 1
700
GC m 55 g 2621442 n out i 2 o 1
701
GC m 55 g 2621443 n out i 3 o 1
702
GC m 55 g 2621444 n out i 4 o 1
703
GC m 55 g 2621445 n out i 5 o 1
704
MC id 56 c cCompoundModule t Node pid 1 n rte[54] cm 1
705
GC m 56 g 1048576 n in i 0 o 0
706
GC m 56 g 1048577 n in i 1 o 0
707
GC m 56 g 1048578 n in i 2 o 0
708
GC m 56 g 1048579 n in i 3 o 0
709
GC m 56 g 1048580 n in i 4 o 0
710
GC m 56 g 1048581 n in i 5 o 0
711
GC m 56 g 2621440 n out i 0 o 1
712
GC m 56 g 2621441 n out i 1 o 1
713
GC m 56 g 2621442 n out i 2 o 1
714
GC m 56 g 2621443 n out i 3 o 1
715
GC m 56 g 2621444 n out i 4 o 1
716
GC m 56 g 2621445 n out i 5 o 1
717
MC id 57 c cCompoundModule t Node pid 1 n rte[55] cm 1
718
GC m 57 g 1048576 n in i 0 o 0
719
GC m 57 g 1048577 n in i 1 o 0
720
GC m 57 g 1048578 n in i 2 o 0
721
GC m 57 g 1048579 n in i 3 o 0
722
GC m 57 g 1048580 n in i 4 o 0
723
GC m 57 g 1048581 n in i 5 o 0
724
GC m 57 g 2621440 n out i 0 o 1
725
GC m 57 g 2621441 n out i 1 o 1
726
GC m 57 g 2621442 n out i 2 o 1
727
GC m 57 g 2621443 n out i 3 o 1
728
GC m 57 g 2621444 n out i 4 o 1
729
GC m 57 g 2621445 n out i 5 o 1
730
MC id 58 c cCompoundModule t Node pid 1 n rte[56] cm 1
731
GC m 58 g 1048576 n in i 0 o 0
732
GC m 58 g 1048577 n in i 1 o 0
733
GC m 58 g 1048578 n in i 2 o 0
734
GC m 58 g 1048579 n in i 3 o 0
735
GC m 58 g 1048580 n in i 4 o 0
736
GC m 58 g 1048581 n in i 5 o 0
737
GC m 58 g 2621440 n out i 0 o 1
738
GC m 58 g 2621441 n out i 1 o 1
739
GC m 58 g 2621442 n out i 2 o 1
740
GC m 58 g 2621443 n out i 3 o 1
741
GC m 58 g 2621444 n out i 4 o 1
742
GC m 58 g 2621445 n out i 5 o 1
743
CC sm 2 sg 2621440 dm 3 dg 1048576
744
CC sm 3 sg 2621440 dm 2 dg 1048576
745
CC sm 3 sg 2621441 dm 4 dg 1048576
746
CC sm 4 sg 2621440 dm 3 dg 1048577
747
CC sm 3 sg 2621442 dm 6 dg 1048576
748
CC sm 6 sg 2621440 dm 3 dg 1048578
749
CC sm 5 sg 2621440 dm 6 dg 1048577
750
CC sm 6 sg 2621441 dm 5 dg 1048576
751
CC sm 6 sg 2621442 dm 7 dg 1048576
752
CC sm 7 sg 2621440 dm 6 dg 1048578
753
CC sm 6 sg 2621443 dm 9 dg 1048576
754
CC sm 9 sg 2621440 dm 6 dg 1048579
755
CC sm 7 sg 2621441 dm 8 dg 1048576
756
CC sm 8 sg 2621440 dm 7 dg 1048577
757
CC sm 7 sg 2621442 dm 12 dg 1048576
758
CC sm 12 sg 2621440 dm 7 dg 1048578
759
CC sm 8 sg 2621441 dm 9 dg 1048577
760
CC sm 9 sg 2621441 dm 8 dg 1048577
761
CC sm 8 sg 2621442 dm 11 dg 1048576
762
CC sm 11 sg 2621440 dm 8 dg 1048578
763
CC sm 9 sg 2621442 dm 10 dg 1048576
764
CC sm 10 sg 2621440 dm 9 dg 1048578
765
CC sm 9 sg 2621443 dm 14 dg 1048576
766
CC sm 14 sg 2621440 dm 9 dg 1048579
767
CC sm 11 sg 2621441 dm 13 dg 1048576
768
CC sm 13 sg 2621440 dm 11 dg 1048577
769
CC sm 12 sg 2621441 dm 13 dg 1048577
770
CC sm 13 sg 2621441 dm 12 dg 1048577
771
CC sm 12 sg 2621442 dm 15 dg 1048576
772
CC sm 15 sg 2621440 dm 12 dg 1048578
773
CC sm 13 sg 2621442 dm 14 dg 1048577
774
CC sm 14 sg 2621441 dm 13 dg 1048578
775
CC sm 13 sg 2621443 dm 16 dg 1048576
776
CC sm 16 sg 2621440 dm 13 dg 1048579
777
CC sm 14 sg 2621442 dm 17 dg 1048576
778
CC sm 17 sg 2621440 dm 14 dg 1048578
779
CC sm 15 sg 2621441 dm 20 dg 1048576
780
CC sm 20 sg 2621440 dm 15 dg 1048577
781
CC sm 16 sg 2621441 dm 17 dg 1048577
782
CC sm 17 sg 2621441 dm 16 dg 1048577
783
CC sm 16 sg 2621442 dm 24 dg 1048576
784
CC sm 24 sg 2621440 dm 16 dg 1048578
785
CC sm 17 sg 2621442 dm 18 dg 1048576
786
CC sm 18 sg 2621440 dm 17 dg 1048578
787
CC sm 18 sg 2621441 dm 19 dg 1048576
788
CC sm 19 sg 2621440 dm 18 dg 1048577
789
CC sm 18 sg 2621442 dm 25 dg 1048576
790
CC sm 25 sg 2621440 dm 18 dg 1048578
791
CC sm 20 sg 2621441 dm 21 dg 1048576
792
CC sm 21 sg 2621440 dm 20 dg 1048577
793
CC sm 20 sg 2621442 dm 23 dg 1048576
794
CC sm 23 sg 2621440 dm 20 dg 1048578
795
CC sm 21 sg 2621441 dm 22 dg 1048576
796
CC sm 22 sg 2621440 dm 21 dg 1048577
797
CC sm 21 sg 2621442 dm 28 dg 1048576
798
CC sm 28 sg 2621440 dm 21 dg 1048578
799
CC sm 22 sg 2621441 dm 23 dg 1048577
800
CC sm 23 sg 2621441 dm 22 dg 1048577
801
CC sm 22 sg 2621442 dm 26 dg 1048576
802
CC sm 26 sg 2621440 dm 22 dg 1048578
803
CC sm 22 sg 2621443 dm 27 dg 1048576
804
CC sm 27 sg 2621440 dm 22 dg 1048579
805
CC sm 23 sg 2621442 dm 24 dg 1048577
806
CC sm 24 sg 2621441 dm 23 dg 1048578
807
CC sm 23 sg 2621443 dm 25 dg 1048577
808
CC sm 25 sg 2621441 dm 23 dg 1048579
809
CC sm 23 sg 2621444 dm 26 dg 1048577
810
CC sm 26 sg 2621441 dm 23 dg 1048580
811
CC sm 25 sg 2621442 dm 26 dg 1048578
812
CC sm 26 sg 2621442 dm 25 dg 1048578
813
CC sm 26 sg 2621443 dm 30 dg 1048576
814
CC sm 30 sg 2621440 dm 26 dg 1048579
815
CC sm 27 sg 2621441 dm 29 dg 1048576
816
CC sm 29 sg 2621440 dm 27 dg 1048577
817
CC sm 28 sg 2621441 dm 34 dg 1048576
818
CC sm 34 sg 2621440 dm 28 dg 1048577
819
CC sm 29 sg 2621441 dm 31 dg 1048576
820
CC sm 31 sg 2621440 dm 29 dg 1048577
821
CC sm 29 sg 2621442 dm 32 dg 1048576
822
CC sm 32 sg 2621440 dm 29 dg 1048578
823
CC sm 29 sg 2621443 dm 34 dg 1048577
824
CC sm 34 sg 2621441 dm 29 dg 1048579
825
CC sm 30 sg 2621441 dm 31 dg 1048577
826
CC sm 31 sg 2621441 dm 30 dg 1048577
827
CC sm 30 sg 2621442 dm 33 dg 1048576
828
CC sm 33 sg 2621440 dm 30 dg 1048578
829
CC sm 31 sg 2621442 dm 33 dg 1048577
830
CC sm 33 sg 2621441 dm 31 dg 1048578
831
CC sm 32 sg 2621441 dm 38 dg 1048576
832
CC sm 38 sg 2621440 dm 32 dg 1048577
833
CC sm 33 sg 2621442 dm 35 dg 1048576
834
CC sm 35 sg 2621440 dm 33 dg 1048578
835
CC sm 34 sg 2621442 dm 36 dg 1048576
836
CC sm 36 sg 2621440 dm 34 dg 1048578
837
CC sm 35 sg 2621441 dm 39 dg 1048576
838
CC sm 39 sg 2621440 dm 35 dg 1048577
839
CC sm 36 sg 2621441 dm 37 dg 1048576
840
CC sm 37 sg 2621440 dm 36 dg 1048577
841
CC sm 36 sg 2621442 dm 42 dg 1048576
842
CC sm 42 sg 2621440 dm 36 dg 1048578
843
CC sm 37 sg 2621441 dm 38 dg 1048577
844
CC sm 38 sg 2621441 dm 37 dg 1048577
845
CC sm 37 sg 2621442 dm 41 dg 1048576
846
CC sm 41 sg 2621440 dm 37 dg 1048578
847
CC sm 38 sg 2621442 dm 39 dg 1048577
848
CC sm 39 sg 2621441 dm 38 dg 1048578
849
CC sm 39 sg 2621442 dm 40 dg 1048576
850
CC sm 40 sg 2621440 dm 39 dg 1048578
851
CC sm 40 sg 2621441 dm 41 dg 1048577
852
CC sm 41 sg 2621441 dm 40 dg 1048577
853
CC sm 40 sg 2621442 dm 44 dg 1048576
854
CC sm 44 sg 2621440 dm 40 dg 1048578
855
CC sm 41 sg 2621442 dm 42 dg 1048577
856
CC sm 42 sg 2621441 dm 41 dg 1048578
857
CC sm 41 sg 2621443 dm 43 dg 1048576
858
CC sm 43 sg 2621440 dm 41 dg 1048579
859
CC sm 42 sg 2621442 dm 45 dg 1048576
860
CC sm 45 sg 2621440 dm 42 dg 1048578
861
CC sm 42 sg 2621443 dm 46 dg 1048576
862
CC sm 46 sg 2621440 dm 42 dg 1048579
863
CC sm 42 sg 2621444 dm 54 dg 1048576
864
CC sm 54 sg 2621440 dm 42 dg 1048580
865
CC sm 43 sg 2621441 dm 44 dg 1048577
866
CC sm 44 sg 2621441 dm 43 dg 1048577
867
CC sm 43 sg 2621442 dm 45 dg 1048577
868
CC sm 45 sg 2621441 dm 43 dg 1048578
869
CC sm 44 sg 2621442 dm 45 dg 1048578
870
CC sm 45 sg 2621442 dm 44 dg 1048578
871
CC sm 45 sg 2621443 dm 48 dg 1048576
872
CC sm 48 sg 2621440 dm 45 dg 1048579
873
CC sm 46 sg 2621441 dm 47 dg 1048576
874
CC sm 47 sg 2621440 dm 46 dg 1048577
875
CC sm 46 sg 2621442 dm 49 dg 1048576
876
CC sm 49 sg 2621440 dm 46 dg 1048578
877
CC sm 47 sg 2621441 dm 48 dg 1048577
878
CC sm 48 sg 2621441 dm 47 dg 1048577
879
CC sm 48 sg 2621442 dm 51 dg 1048576
880
CC sm 51 sg 2621440 dm 48 dg 1048578
881
CC sm 49 sg 2621441 dm 50 dg 1048576
882
CC sm 50 sg 2621440 dm 49 dg 1048577
883
CC sm 50 sg 2621441 dm 52 dg 1048576
884
CC sm 52 sg 2621440 dm 50 dg 1048577
885
CC sm 50 sg 2621442 dm 53 dg 1048576
886
CC sm 53 sg 2621440 dm 50 dg 1048578
887
CC sm 51 sg 2621441 dm 52 dg 1048577
888
CC sm 52 sg 2621441 dm 51 dg 1048577
889
CC sm 52 sg 2621442 dm 55 dg 1048576
890
CC sm 55 sg 2621440 dm 52 dg 1048578
891
CC sm 53 sg 2621441 dm 54 dg 1048577
892
CC sm 54 sg 2621441 dm 53 dg 1048577
893
CC sm 53 sg 2621442 dm 55 dg 1048577
894
CC sm 55 sg 2621441 dm 53 dg 1048578
895
CC sm 54 sg 2621442 dm 55 dg 1048578
896
CC sm 55 sg 2621442 dm 54 dg 1048578
897
CC sm 54 sg 2621443 dm 56 dg 1048576
898
CC sm 56 sg 2621440 dm 54 dg 1048579
899
CC sm 55 sg 2621443 dm 58 dg 1048576
900
CC sm 58 sg 2621440 dm 55 dg 1048579
901
CC sm 56 sg 2621441 dm 57 dg 1048576
902
CC sm 57 sg 2621440 dm 56 dg 1048577
903
CC sm 57 sg 2621441 dm 58 dg 1048577
904
CC sm 58 sg 2621441 dm 57 dg 1048577
905
CC sm 57 sg 2621442 dm 2 dg 1048577
906
GC m 59 g 0 n in o 0
907
GC m 59 g 3 n out o 1
908
MC id 59 c App t App pid 2 n app
909
GC m 60 g 0 n upIn o 0
910
GC m 60 g 3 n upOut o 1
911
GC m 60 g 4 n downIn o 0
912
GC m 60 g 7 n downOut o 1
913
MC id 60 c Routing t Routing pid 2 n routing
914
GC m 61 g 0 n upIn o 0
915
GC m 61 g 3 n upOut o 1
916
GC m 61 g 4 n downIn o 0
917
GC m 61 g 7 n downOut o 1
918
MC id 61 c Mac t Mac pid 2 n mac
919
GC m 62 g 4 n upIn o 0
920
GC m 62 g 7 n upOut o 1
921
MC id 62 c PhyChannel t PhyChannel pid 2 n phyChannel
922
GC m 62 g 1048576 n in i 0 o 0
923
GC m 62 g 1048577 n in i 1 o 0
924
GC m 62 g 1048578 n in i 2 o 0
925
GC m 62 g 1048579 n in i 3 o 0
926
GC m 62 g 1048580 n in i 4 o 0
927
GC m 62 g 1048581 n in i 5 o 0
928
GC m 62 g 2621440 n out i 0 o 1
929
GC m 62 g 2621441 n out i 1 o 1
930
GC m 62 g 2621442 n out i 2 o 1
931
GC m 62 g 2621443 n out i 3 o 1
932
GC m 62 g 2621444 n out i 4 o 1
933
GC m 62 g 2621445 n out i 5 o 1
934
CC sm 60 sg 3 dm 59 dg 0
935
CC sm 59 sg 3 dm 60 dg 0
936
CC sm 60 sg 7 dm 61 dg 0
937
CC sm 61 sg 3 dm 60 dg 4
938
CC sm 61 sg 7 dm 62 dg 4
939
CC sm 62 sg 7 dm 61 dg 4
940
CC sm 62 sg 2621440 dm 2 dg 2621440
941
CC sm 2 sg 1048576 dm 62 dg 1048576
942
CC sm 62 sg 2621441 dm 2 dg 2621441
943
CC sm 2 sg 1048577 dm 62 dg 1048577
944
CC sm 62 sg 2621442 dm 2 dg 2621442
945
CC sm 2 sg 1048578 dm 62 dg 1048578
946
CC sm 62 sg 2621443 dm 2 dg 2621443
947
CC sm 2 sg 1048579 dm 62 dg 1048579
948
CC sm 62 sg 2621444 dm 2 dg 2621444
949
CC sm 2 sg 1048580 dm 62 dg 1048580
950
CC sm 62 sg 2621445 dm 2 dg 2621445
951
CC sm 2 sg 1048581 dm 62 dg 1048581
952
GC m 63 g 0 n in o 0
953
GC m 63 g 3 n out o 1
954
MC id 63 c App t App pid 3 n app
955
GC m 64 g 0 n upIn o 0
956
GC m 64 g 3 n upOut o 1
957
GC m 64 g 4 n downIn o 0
958
GC m 64 g 7 n downOut o 1
959
MC id 64 c Routing t Routing pid 3 n routing
960
GC m 65 g 0 n upIn o 0
961
GC m 65 g 3 n upOut o 1
962
GC m 65 g 4 n downIn o 0
963
GC m 65 g 7 n downOut o 1
964
MC id 65 c Mac t Mac pid 3 n mac
965
GC m 66 g 4 n upIn o 0
966
GC m 66 g 7 n upOut o 1
967
MC id 66 c PhyChannel t PhyChannel pid 3 n phyChannel
968
GC m 66 g 1048576 n in i 0 o 0
969
GC m 66 g 1048577 n in i 1 o 0
970
GC m 66 g 1048578 n in i 2 o 0
971
GC m 66 g 1048579 n in i 3 o 0
972
GC m 66 g 1048580 n in i 4 o 0
973
GC m 66 g 1048581 n in i 5 o 0
974
GC m 66 g 2621440 n out i 0 o 1
975
GC m 66 g 2621441 n out i 1 o 1
976
GC m 66 g 2621442 n out i 2 o 1
977
GC m 66 g 2621443 n out i 3 o 1
978
GC m 66 g 2621444 n out i 4 o 1
979
GC m 66 g 2621445 n out i 5 o 1
980
CC sm 64 sg 3 dm 63 dg 0
981
CC sm 63 sg 3 dm 64 dg 0
982
CC sm 64 sg 7 dm 65 dg 0
983
CC sm 65 sg 3 dm 64 dg 4
984
CC sm 65 sg 7 dm 66 dg 4
985
CC sm 66 sg 7 dm 65 dg 4
986
CC sm 66 sg 2621440 dm 3 dg 2621440
987
CC sm 3 sg 1048576 dm 66 dg 1048576
988
CC sm 66 sg 2621441 dm 3 dg 2621441
989
CC sm 3 sg 1048577 dm 66 dg 1048577
990
CC sm 66 sg 2621442 dm 3 dg 2621442
991
CC sm 3 sg 1048578 dm 66 dg 1048578
992
CC sm 66 sg 2621443 dm 3 dg 2621443
993
CC sm 3 sg 1048579 dm 66 dg 1048579
994
CC sm 66 sg 2621444 dm 3 dg 2621444
995
CC sm 3 sg 1048580 dm 66 dg 1048580
996
CC sm 66 sg 2621445 dm 3 dg 2621445
997
CC sm 3 sg 1048581 dm 66 dg 1048581
998
GC m 67 g 0 n in o 0
999
GC m 67 g 3 n out o 1
1000
MC id 67 c App t App pid 4 n app
1001
GC m 68 g 0 n upIn o 0
1002
GC m 68 g 3 n upOut o 1
1003
GC m 68 g 4 n downIn o 0
1004
GC m 68 g 7 n downOut o 1
1005
MC id 68 c Routing t Routing pid 4 n routing
1006
GC m 69 g 0 n upIn o 0
1007
GC m 69 g 3 n upOut o 1
1008
GC m 69 g 4 n downIn o 0
1009
GC m 69 g 7 n downOut o 1
1010
MC id 69 c Mac t Mac pid 4 n mac
1011
GC m 70 g 4 n upIn o 0
1012
GC m 70 g 7 n upOut o 1
1013
MC id 70 c PhyChannel t PhyChannel pid 4 n phyChannel
1014
GC m 70 g 1048576 n in i 0 o 0
1015
GC m 70 g 1048577 n in i 1 o 0
1016
GC m 70 g 1048578 n in i 2 o 0
1017
GC m 70 g 1048579 n in i 3 o 0
1018
GC m 70 g 1048580 n in i 4 o 0
1019
GC m 70 g 1048581 n in i 5 o 0
1020
GC m 70 g 2621440 n out i 0 o 1
1021
GC m 70 g 2621441 n out i 1 o 1
1022
GC m 70 g 2621442 n out i 2 o 1
1023
GC m 70 g 2621443 n out i 3 o 1
1024
GC m 70 g 2621444 n out i 4 o 1
1025
GC m 70 g 2621445 n out i 5 o 1
1026
CC sm 68 sg 3 dm 67 dg 0
1027
CC sm 67 sg 3 dm 68 dg 0
1028
CC sm 68 sg 7 dm 69 dg 0
1029
CC sm 69 sg 3 dm 68 dg 4
1030
CC sm 69 sg 7 dm 70 dg 4
1031
CC sm 70 sg 7 dm 69 dg 4
1032
CC sm 70 sg 2621440 dm 4 dg 2621440
1033
CC sm 4 sg 1048576 dm 70 dg 1048576
1034
CC sm 70 sg 2621441 dm 4 dg 2621441
1035
CC sm 4 sg 1048577 dm 70 dg 1048577
1036
CC sm 70 sg 2621442 dm 4 dg 2621442
1037
CC sm 4 sg 1048578 dm 70 dg 1048578
1038
CC sm 70 sg 2621443 dm 4 dg 2621443
1039
CC sm 4 sg 1048579 dm 70 dg 1048579
1040
CC sm 70 sg 2621444 dm 4 dg 2621444
1041
CC sm 4 sg 1048580 dm 70 dg 1048580
1042
CC sm 70 sg 2621445 dm 4 dg 2621445
1043
CC sm 4 sg 1048581 dm 70 dg 1048581
1044
GC m 71 g 0 n in o 0
1045
GC m 71 g 3 n out o 1
1046
MC id 71 c App t App pid 5 n app
1047
GC m 72 g 0 n upIn o 0
1048
GC m 72 g 3 n upOut o 1
1049
GC m 72 g 4 n downIn o 0
1050
GC m 72 g 7 n downOut o 1
1051
MC id 72 c Routing t Routing pid 5 n routing
1052
GC m 73 g 0 n upIn o 0
1053
GC m 73 g 3 n upOut o 1
1054
GC m 73 g 4 n downIn o 0
1055
GC m 73 g 7 n downOut o 1
1056
MC id 73 c Mac t Mac pid 5 n mac
1057
GC m 74 g 4 n upIn o 0
1058
GC m 74 g 7 n upOut o 1
1059
MC id 74 c PhyChannel t PhyChannel pid 5 n phyChannel
1060
GC m 74 g 1048576 n in i 0 o 0
1061
GC m 74 g 1048577 n in i 1 o 0
1062
GC m 74 g 1048578 n in i 2 o 0
1063
GC m 74 g 1048579 n in i 3 o 0
1064
GC m 74 g 1048580 n in i 4 o 0
1065
GC m 74 g 1048581 n in i 5 o 0
1066
GC m 74 g 2621440 n out i 0 o 1
1067
GC m 74 g 2621441 n out i 1 o 1
1068
GC m 74 g 2621442 n out i 2 o 1
1069
GC m 74 g 2621443 n out i 3 o 1
1070
GC m 74 g 2621444 n out i 4 o 1
1071
GC m 74 g 2621445 n out i 5 o 1
1072
CC sm 72 sg 3 dm 71 dg 0
1073
CC sm 71 sg 3 dm 72 dg 0
1074
CC sm 72 sg 7 dm 73 dg 0
1075
CC sm 73 sg 3 dm 72 dg 4
1076
CC sm 73 sg 7 dm 74 dg 4
1077
CC sm 74 sg 7 dm 73 dg 4
1078
CC sm 74 sg 2621440 dm 5 dg 2621440
1079
CC sm 5 sg 1048576 dm 74 dg 1048576
1080
CC sm 74 sg 2621441 dm 5 dg 2621441
1081
CC sm 5 sg 1048577 dm 74 dg 1048577
1082
CC sm 74 sg 2621442 dm 5 dg 2621442
1083
CC sm 5 sg 1048578 dm 74 dg 1048578
1084
CC sm 74 sg 2621443 dm 5 dg 2621443
1085
CC sm 5 sg 1048579 dm 74 dg 1048579
1086
CC sm 74 sg 2621444 dm 5 dg 2621444
1087
CC sm 5 sg 1048580 dm 74 dg 1048580
1088
CC sm 74 sg 2621445 dm 5 dg 2621445
1089
CC sm 5 sg 1048581 dm 74 dg 1048581
1090
GC m 75 g 0 n in o 0
1091
GC m 75 g 3 n out o 1
1092
MC id 75 c App t App pid 6 n app
1093
GC m 76 g 0 n upIn o 0
1094
GC m 76 g 3 n upOut o 1
1095
GC m 76 g 4 n downIn o 0
1096
GC m 76 g 7 n downOut o 1
1097
MC id 76 c Routing t Routing pid 6 n routing
1098
GC m 77 g 0 n upIn o 0
1099
GC m 77 g 3 n upOut o 1
1100
GC m 77 g 4 n downIn o 0
1101
GC m 77 g 7 n downOut o 1
1102
MC id 77 c Mac t Mac pid 6 n mac
1103
GC m 78 g 4 n upIn o 0
1104
GC m 78 g 7 n upOut o 1
1105
MC id 78 c PhyChannel t PhyChannel pid 6 n phyChannel
1106
GC m 78 g 1048576 n in i 0 o 0
1107
GC m 78 g 1048577 n in i 1 o 0
1108
GC m 78 g 1048578 n in i 2 o 0
1109
GC m 78 g 1048579 n in i 3 o 0
1110
GC m 78 g 1048580 n in i 4 o 0
1111
GC m 78 g 1048581 n in i 5 o 0
1112
GC m 78 g 2621440 n out i 0 o 1
1113
GC m 78 g 2621441 n out i 1 o 1
1114
GC m 78 g 2621442 n out i 2 o 1
1115
GC m 78 g 2621443 n out i 3 o 1
1116
GC m 78 g 2621444 n out i 4 o 1
1117
GC m 78 g 2621445 n out i 5 o 1
1118
CC sm 76 sg 3 dm 75 dg 0
1119
CC sm 75 sg 3 dm 76 dg 0
1120
CC sm 76 sg 7 dm 77 dg 0
1121
CC sm 77 sg 3 dm 76 dg 4
1122
CC sm 77 sg 7 dm 78 dg 4
1123
CC sm 78 sg 7 dm 77 dg 4
1124
CC sm 78 sg 2621440 dm 6 dg 2621440
1125
CC sm 6 sg 1048576 dm 78 dg 1048576
1126
CC sm 78 sg 2621441 dm 6 dg 2621441
1127
CC sm 6 sg 1048577 dm 78 dg 1048577
1128
CC sm 78 sg 2621442 dm 6 dg 2621442
1129
CC sm 6 sg 1048578 dm 78 dg 1048578
1130
CC sm 78 sg 2621443 dm 6 dg 2621443
1131
CC sm 6 sg 1048579 dm 78 dg 1048579
1132
CC sm 78 sg 2621444 dm 6 dg 2621444
1133
CC sm 6 sg 1048580 dm 78 dg 1048580
1134
CC sm 78 sg 2621445 dm 6 dg 2621445
1135
CC sm 6 sg 1048581 dm 78 dg 1048581
1136
GC m 79 g 0 n in o 0
1137
GC m 79 g 3 n out o 1
1138
MC id 79 c App t App pid 7 n app
1139
GC m 80 g 0 n upIn o 0
1140
GC m 80 g 3 n upOut o 1
1141
GC m 80 g 4 n downIn o 0
1142
GC m 80 g 7 n downOut o 1
1143
MC id 80 c Routing t Routing pid 7 n routing
1144
GC m 81 g 0 n upIn o 0
1145
GC m 81 g 3 n upOut o 1
1146
GC m 81 g 4 n downIn o 0
1147
GC m 81 g 7 n downOut o 1
1148
MC id 81 c Mac t Mac pid 7 n mac
1149
GC m 82 g 4 n upIn o 0
1150
GC m 82 g 7 n upOut o 1
1151
MC id 82 c PhyChannel t PhyChannel pid 7 n phyChannel
1152
GC m 82 g 1048576 n in i 0 o 0
1153
GC m 82 g 1048577 n in i 1 o 0
1154
GC m 82 g 1048578 n in i 2 o 0
1155
GC m 82 g 1048579 n in i 3 o 0
1156
GC m 82 g 1048580 n in i 4 o 0
1157
GC m 82 g 1048581 n in i 5 o 0
1158
GC m 82 g 2621440 n out i 0 o 1
1159
GC m 82 g 2621441 n out i 1 o 1
1160
GC m 82 g 2621442 n out i 2 o 1
1161
GC m 82 g 2621443 n out i 3 o 1
1162
GC m 82 g 2621444 n out i 4 o 1
1163
GC m 82 g 2621445 n out i 5 o 1
1164
CC sm 80 sg 3 dm 79 dg 0
1165
CC sm 79 sg 3 dm 80 dg 0
1166
CC sm 80 sg 7 dm 81 dg 0
1167
CC sm 81 sg 3 dm 80 dg 4
1168
CC sm 81 sg 7 dm 82 dg 4
1169
CC sm 82 sg 7 dm 81 dg 4
1170
CC sm 82 sg 2621440 dm 7 dg 2621440
1171
CC sm 7 sg 1048576 dm 82 dg 1048576
1172
CC sm 82 sg 2621441 dm 7 dg 2621441
1173
CC sm 7 sg 1048577 dm 82 dg 1048577
1174
CC sm 82 sg 2621442 dm 7 dg 2621442
1175
CC sm 7 sg 1048578 dm 82 dg 1048578
1176
CC sm 82 sg 2621443 dm 7 dg 2621443
1177
CC sm 7 sg 1048579 dm 82 dg 1048579
1178
CC sm 82 sg 2621444 dm 7 dg 2621444
1179
CC sm 7 sg 1048580 dm 82 dg 1048580
1180
CC sm 82 sg 2621445 dm 7 dg 2621445
1181
CC sm 7 sg 1048581 dm 82 dg 1048581
1182
GC m 83 g 0 n in o 0
1183
GC m 83 g 3 n out o 1
1184
MC id 83 c App t App pid 8 n app
1185
GC m 84 g 0 n upIn o 0
1186
GC m 84 g 3 n upOut o 1
1187
GC m 84 g 4 n downIn o 0
1188
GC m 84 g 7 n downOut o 1
1189
MC id 84 c Routing t Routing pid 8 n routing
1190
GC m 85 g 0 n upIn o 0
1191
GC m 85 g 3 n upOut o 1
1192
GC m 85 g 4 n downIn o 0
1193
GC m 85 g 7 n downOut o 1
1194
MC id 85 c Mac t Mac pid 8 n mac
1195
GC m 86 g 4 n upIn o 0
1196
GC m 86 g 7 n upOut o 1
1197
MC id 86 c PhyChannel t PhyChannel pid 8 n phyChannel
1198
GC m 86 g 1048576 n in i 0 o 0
1199
GC m 86 g 1048577 n in i 1 o 0
1200
GC m 86 g 1048578 n in i 2 o 0
1201
GC m 86 g 1048579 n in i 3 o 0
1202
GC m 86 g 1048580 n in i 4 o 0
1203
GC m 86 g 1048581 n in i 5 o 0
1204
GC m 86 g 2621440 n out i 0 o 1
1205
GC m 86 g 2621441 n out i 1 o 1
1206
GC m 86 g 2621442 n out i 2 o 1
1207
GC m 86 g 2621443 n out i 3 o 1
1208
GC m 86 g 2621444 n out i 4 o 1
1209
GC m 86 g 2621445 n out i 5 o 1
1210
CC sm 84 sg 3 dm 83 dg 0
1211
CC sm 83 sg 3 dm 84 dg 0
1212
CC sm 84 sg 7 dm 85 dg 0
1213
CC sm 85 sg 3 dm 84 dg 4
1214
CC sm 85 sg 7 dm 86 dg 4
1215
CC sm 86 sg 7 dm 85 dg 4
1216
CC sm 86 sg 2621440 dm 8 dg 2621440
1217
CC sm 8 sg 1048576 dm 86 dg 1048576
1218
CC sm 86 sg 2621441 dm 8 dg 2621441
1219
CC sm 8 sg 1048577 dm 86 dg 1048577
1220
CC sm 86 sg 2621442 dm 8 dg 2621442
1221
CC sm 8 sg 1048578 dm 86 dg 1048578
1222
CC sm 86 sg 2621443 dm 8 dg 2621443
1223
CC sm 8 sg 1048579 dm 86 dg 1048579
1224
CC sm 86 sg 2621444 dm 8 dg 2621444
1225
CC sm 8 sg 1048580 dm 86 dg 1048580
1226
CC sm 86 sg 2621445 dm 8 dg 2621445
1227
CC sm 8 sg 1048581 dm 86 dg 1048581
1228
GC m 87 g 0 n in o 0
1229
GC m 87 g 3 n out o 1
1230
MC id 87 c App t App pid 9 n app
1231
GC m 88 g 0 n upIn o 0
1232
GC m 88 g 3 n upOut o 1
1233
GC m 88 g 4 n downIn o 0
1234
GC m 88 g 7 n downOut o 1
1235
MC id 88 c Routing t Routing pid 9 n routing
1236
GC m 89 g 0 n upIn o 0
1237
GC m 89 g 3 n upOut o 1
1238
GC m 89 g 4 n downIn o 0
1239
GC m 89 g 7 n downOut o 1
1240
MC id 89 c Mac t Mac pid 9 n mac
1241
GC m 90 g 4 n upIn o 0
1242
GC m 90 g 7 n upOut o 1
1243
MC id 90 c PhyChannel t PhyChannel pid 9 n phyChannel
1244
GC m 90 g 1048576 n in i 0 o 0
1245
GC m 90 g 1048577 n in i 1 o 0
1246
GC m 90 g 1048578 n in i 2 o 0
1247
GC m 90 g 1048579 n in i 3 o 0
1248
GC m 90 g 1048580 n in i 4 o 0
1249
GC m 90 g 1048581 n in i 5 o 0
1250
GC m 90 g 2621440 n out i 0 o 1
1251
GC m 90 g 2621441 n out i 1 o 1
1252
GC m 90 g 2621442 n out i 2 o 1
1253
GC m 90 g 2621443 n out i 3 o 1
1254
GC m 90 g 2621444 n out i 4 o 1
1255
GC m 90 g 2621445 n out i 5 o 1
1256
CC sm 88 sg 3 dm 87 dg 0
1257
CC sm 87 sg 3 dm 88 dg 0
1258
CC sm 88 sg 7 dm 89 dg 0
1259
CC sm 89 sg 3 dm 88 dg 4
1260
CC sm 89 sg 7 dm 90 dg 4
1261
CC sm 90 sg 7 dm 89 dg 4
1262
CC sm 90 sg 2621440 dm 9 dg 2621440
1263
CC sm 9 sg 1048576 dm 90 dg 1048576
1264
CC sm 90 sg 2621441 dm 9 dg 2621441
1265
CC sm 9 sg 1048577 dm 90 dg 1048577
1266
CC sm 90 sg 2621442 dm 9 dg 2621442
1267
CC sm 9 sg 1048578 dm 90 dg 1048578
1268
CC sm 90 sg 2621443 dm 9 dg 2621443
1269
CC sm 9 sg 1048579 dm 90 dg 1048579
1270
CC sm 90 sg 2621444 dm 9 dg 2621444
1271
CC sm 9 sg 1048580 dm 90 dg 1048580
1272
CC sm 90 sg 2621445 dm 9 dg 2621445
1273
CC sm 9 sg 1048581 dm 90 dg 1048581
1274
GC m 91 g 0 n in o 0
1275
GC m 91 g 3 n out o 1
1276
MC id 91 c App t App pid 10 n app
1277
GC m 92 g 0 n upIn o 0
1278
GC m 92 g 3 n upOut o 1
1279
GC m 92 g 4 n downIn o 0
1280
GC m 92 g 7 n downOut o 1
1281
MC id 92 c Routing t Routing pid 10 n routing
1282
GC m 93 g 0 n upIn o 0
1283
GC m 93 g 3 n upOut o 1
1284
GC m 93 g 4 n downIn o 0
1285
GC m 93 g 7 n downOut o 1
1286
MC id 93 c Mac t Mac pid 10 n mac
1287
GC m 94 g 4 n upIn o 0
1288
GC m 94 g 7 n upOut o 1
1289
MC id 94 c PhyChannel t PhyChannel pid 10 n phyChannel
1290
GC m 94 g 1048576 n in i 0 o 0
1291
GC m 94 g 1048577 n in i 1 o 0
1292
GC m 94 g 1048578 n in i 2 o 0
1293
GC m 94 g 1048579 n in i 3 o 0
1294
GC m 94 g 1048580 n in i 4 o 0
1295
GC m 94 g 1048581 n in i 5 o 0
1296
GC m 94 g 2621440 n out i 0 o 1
1297
GC m 94 g 2621441 n out i 1 o 1
1298
GC m 94 g 2621442 n out i 2 o 1
1299
GC m 94 g 2621443 n out i 3 o 1
1300
GC m 94 g 2621444 n out i 4 o 1
1301
GC m 94 g 2621445 n out i 5 o 1
1302
CC sm 92 sg 3 dm 91 dg 0
1303
CC sm 91 sg 3 dm 92 dg 0
1304
CC sm 92 sg 7 dm 93 dg 0
1305
CC sm 93 sg 3 dm 92 dg 4
1306
CC sm 93 sg 7 dm 94 dg 4
1307
CC sm 94 sg 7 dm 93 dg 4
1308
CC sm 94 sg 2621440 dm 10 dg 2621440
1309
CC sm 10 sg 1048576 dm 94 dg 1048576
1310
CC sm 94 sg 2621441 dm 10 dg 2621441
1311
CC sm 10 sg 1048577 dm 94 dg 1048577
1312
CC sm 94 sg 2621442 dm 10 dg 2621442
1313
CC sm 10 sg 1048578 dm 94 dg 1048578
1314
CC sm 94 sg 2621443 dm 10 dg 2621443
1315
CC sm 10 sg 1048579 dm 94 dg 1048579
1316
CC sm 94 sg 2621444 dm 10 dg 2621444
1317
CC sm 10 sg 1048580 dm 94 dg 1048580
1318
CC sm 94 sg 2621445 dm 10 dg 2621445
1319
CC sm 10 sg 1048581 dm 94 dg 1048581
1320
GC m 95 g 0 n in o 0
1321
GC m 95 g 3 n out o 1
1322
MC id 95 c App t App pid 11 n app
1323
GC m 96 g 0 n upIn o 0
1324
GC m 96 g 3 n upOut o 1
1325
GC m 96 g 4 n downIn o 0
1326
GC m 96 g 7 n downOut o 1
1327
MC id 96 c Routing t Routing pid 11 n routing
1328
GC m 97 g 0 n upIn o 0
1329
GC m 97 g 3 n upOut o 1
1330
GC m 97 g 4 n downIn o 0
1331
GC m 97 g 7 n downOut o 1
1332
MC id 97 c Mac t Mac pid 11 n mac
1333
GC m 98 g 4 n upIn o 0
1334
GC m 98 g 7 n upOut o 1
1335
MC id 98 c PhyChannel t PhyChannel pid 11 n phyChannel
1336
GC m 98 g 1048576 n in i 0 o 0
1337
GC m 98 g 1048577 n in i 1 o 0
1338
GC m 98 g 1048578 n in i 2 o 0
1339
GC m 98 g 1048579 n in i 3 o 0
1340
GC m 98 g 1048580 n in i 4 o 0
1341
GC m 98 g 1048581 n in i 5 o 0
1342
GC m 98 g 2621440 n out i 0 o 1
1343
GC m 98 g 2621441 n out i 1 o 1
1344
GC m 98 g 2621442 n out i 2 o 1
1345
GC m 98 g 2621443 n out i 3 o 1
1346
GC m 98 g 2621444 n out i 4 o 1
1347
GC m 98 g 2621445 n out i 5 o 1
1348
CC sm 96 sg 3 dm 95 dg 0
1349
CC sm 95 sg 3 dm 96 dg 0
1350
CC sm 96 sg 7 dm 97 dg 0
1351
CC sm 97 sg 3 dm 96 dg 4
1352
CC sm 97 sg 7 dm 98 dg 4
1353
CC sm 98 sg 7 dm 97 dg 4
1354
CC sm 98 sg 2621440 dm 11 dg 2621440
1355
CC sm 11 sg 1048576 dm 98 dg 1048576
1356
CC sm 98 sg 2621441 dm 11 dg 2621441
1357
CC sm 11 sg 1048577 dm 98 dg 1048577
1358
CC sm 98 sg 2621442 dm 11 dg 2621442
1359
CC sm 11 sg 1048578 dm 98 dg 1048578
1360
CC sm 98 sg 2621443 dm 11 dg 2621443
1361
CC sm 11 sg 1048579 dm 98 dg 1048579
1362
CC sm 98 sg 2621444 dm 11 dg 2621444
1363
CC sm 11 sg 1048580 dm 98 dg 1048580
1364
CC sm 98 sg 2621445 dm 11 dg 2621445
1365
CC sm 11 sg 1048581 dm 98 dg 1048581
1366
GC m 99 g 0 n in o 0
1367
GC m 99 g 3 n out o 1
1368
MC id 99 c App t App pid 12 n app
1369
GC m 100 g 0 n upIn o 0
1370
GC m 100 g 3 n upOut o 1
1371
GC m 100 g 4 n downIn o 0
1372
GC m 100 g 7 n downOut o 1
1373
MC id 100 c Routing t Routing pid 12 n routing
1374
GC m 101 g 0 n upIn o 0
1375
GC m 101 g 3 n upOut o 1
1376
GC m 101 g 4 n downIn o 0
1377
GC m 101 g 7 n downOut o 1
1378
MC id 101 c Mac t Mac pid 12 n mac
1379
GC m 102 g 4 n upIn o 0
1380
GC m 102 g 7 n upOut o 1
1381
MC id 102 c PhyChannel t PhyChannel pid 12 n phyChannel
1382
GC m 102 g 1048576 n in i 0 o 0
1383
GC m 102 g 1048577 n in i 1 o 0
1384
GC m 102 g 1048578 n in i 2 o 0
1385
GC m 102 g 1048579 n in i 3 o 0
1386
GC m 102 g 1048580 n in i 4 o 0
1387
GC m 102 g 1048581 n in i 5 o 0
1388
GC m 102 g 2621440 n out i 0 o 1
1389
GC m 102 g 2621441 n out i 1 o 1
1390
GC m 102 g 2621442 n out i 2 o 1
1391
GC m 102 g 2621443 n out i 3 o 1
1392
GC m 102 g 2621444 n out i 4 o 1
1393
GC m 102 g 2621445 n out i 5 o 1
1394
CC sm 100 sg 3 dm 99 dg 0
1395
CC sm 99 sg 3 dm 100 dg 0
1396
CC sm 100 sg 7 dm 101 dg 0
1397
CC sm 101 sg 3 dm 100 dg 4
1398
CC sm 101 sg 7 dm 102 dg 4
1399
CC sm 102 sg 7 dm 101 dg 4
1400
CC sm 102 sg 2621440 dm 12 dg 2621440
1401
CC sm 12 sg 1048576 dm 102 dg 1048576
1402
CC sm 102 sg 2621441 dm 12 dg 2621441
1403
CC sm 12 sg 1048577 dm 102 dg 1048577
1404
CC sm 102 sg 2621442 dm 12 dg 2621442
1405
CC sm 12 sg 1048578 dm 102 dg 1048578
1406
CC sm 102 sg 2621443 dm 12 dg 2621443
1407
CC sm 12 sg 1048579 dm 102 dg 1048579
1408
CC sm 102 sg 2621444 dm 12 dg 2621444
1409
CC sm 12 sg 1048580 dm 102 dg 1048580
1410
CC sm 102 sg 2621445 dm 12 dg 2621445
1411
CC sm 12 sg 1048581 dm 102 dg 1048581
1412
GC m 103 g 0 n in o 0
1413
GC m 103 g 3 n out o 1
1414
MC id 103 c App t App pid 13 n app
1415
GC m 104 g 0 n upIn o 0
1416
GC m 104 g 3 n upOut o 1
1417
GC m 104 g 4 n downIn o 0
1418
GC m 104 g 7 n downOut o 1
1419
MC id 104 c Routing t Routing pid 13 n routing
1420
GC m 105 g 0 n upIn o 0
1421
GC m 105 g 3 n upOut o 1
1422
GC m 105 g 4 n downIn o 0
1423
GC m 105 g 7 n downOut o 1
1424
MC id 105 c Mac t Mac pid 13 n mac
1425
GC m 106 g 4 n upIn o 0
1426
GC m 106 g 7 n upOut o 1
1427
MC id 106 c PhyChannel t PhyChannel pid 13 n phyChannel
1428
GC m 106 g 1048576 n in i 0 o 0
1429
GC m 106 g 1048577 n in i 1 o 0
1430
GC m 106 g 1048578 n in i 2 o 0
1431
GC m 106 g 1048579 n in i 3 o 0
1432
GC m 106 g 1048580 n in i 4 o 0
1433
GC m 106 g 1048581 n in i 5 o 0
1434
GC m 106 g 2621440 n out i 0 o 1
1435
GC m 106 g 2621441 n out i 1 o 1
1436
GC m 106 g 2621442 n out i 2 o 1
1437
GC m 106 g 2621443 n out i 3 o 1
1438
GC m 106 g 2621444 n out i 4 o 1
1439
GC m 106 g 2621445 n out i 5 o 1
1440
CC sm 104 sg 3 dm 103 dg 0
1441
CC sm 103 sg 3 dm 104 dg 0
1442
CC sm 104 sg 7 dm 105 dg 0
1443
CC sm 105 sg 3 dm 104 dg 4
1444
CC sm 105 sg 7 dm 106 dg 4
1445
CC sm 106 sg 7 dm 105 dg 4
1446
CC sm 106 sg 2621440 dm 13 dg 2621440
1447
CC sm 13 sg 1048576 dm 106 dg 1048576
1448
CC sm 106 sg 2621441 dm 13 dg 2621441
1449
CC sm 13 sg 1048577 dm 106 dg 1048577
1450
CC sm 106 sg 2621442 dm 13 dg 2621442
1451
CC sm 13 sg 1048578 dm 106 dg 1048578
1452
CC sm 106 sg 2621443 dm 13 dg 2621443
1453
CC sm 13 sg 1048579 dm 106 dg 1048579
1454
CC sm 106 sg 2621444 dm 13 dg 2621444
1455
CC sm 13 sg 1048580 dm 106 dg 1048580
1456
CC sm 106 sg 2621445 dm 13 dg 2621445
1457
CC sm 13 sg 1048581 dm 106 dg 1048581
1458
GC m 107 g 0 n in o 0
1459
GC m 107 g 3 n out o 1
1460
MC id 107 c App t App pid 14 n app
1461
GC m 108 g 0 n upIn o 0
1462
GC m 108 g 3 n upOut o 1
1463
GC m 108 g 4 n downIn o 0
1464
GC m 108 g 7 n downOut o 1
1465
MC id 108 c Routing t Routing pid 14 n routing
1466
GC m 109 g 0 n upIn o 0
1467
GC m 109 g 3 n upOut o 1
1468
GC m 109 g 4 n downIn o 0
1469
GC m 109 g 7 n downOut o 1
1470
MC id 109 c Mac t Mac pid 14 n mac
1471
GC m 110 g 4 n upIn o 0
1472
GC m 110 g 7 n upOut o 1
1473
MC id 110 c PhyChannel t PhyChannel pid 14 n phyChannel
1474
GC m 110 g 1048576 n in i 0 o 0
1475
GC m 110 g 1048577 n in i 1 o 0
1476
GC m 110 g 1048578 n in i 2 o 0
1477
GC m 110 g 1048579 n in i 3 o 0
1478
GC m 110 g 1048580 n in i 4 o 0
1479
GC m 110 g 1048581 n in i 5 o 0
1480
GC m 110 g 2621440 n out i 0 o 1
1481
GC m 110 g 2621441 n out i 1 o 1
1482
GC m 110 g 2621442 n out i 2 o 1
1483
GC m 110 g 2621443 n out i 3 o 1
1484
GC m 110 g 2621444 n out i 4 o 1
1485
GC m 110 g 2621445 n out i 5 o 1
1486
CC sm 108 sg 3 dm 107 dg 0
1487
CC sm 107 sg 3 dm 108 dg 0
1488
CC sm 108 sg 7 dm 109 dg 0
1489
CC sm 109 sg 3 dm 108 dg 4
1490
CC sm 109 sg 7 dm 110 dg 4
1491
CC sm 110 sg 7 dm 109 dg 4
1492
CC sm 110 sg 2621440 dm 14 dg 2621440
1493
CC sm 14 sg 1048576 dm 110 dg 1048576
1494
CC sm 110 sg 2621441 dm 14 dg 2621441
1495
CC sm 14 sg 1048577 dm 110 dg 1048577
1496
CC sm 110 sg 2621442 dm 14 dg 2621442
1497
CC sm 14 sg 1048578 dm 110 dg 1048578
1498
CC sm 110 sg 2621443 dm 14 dg 2621443
1499
CC sm 14 sg 1048579 dm 110 dg 1048579
1500
CC sm 110 sg 2621444 dm 14 dg 2621444
1501
CC sm 14 sg 1048580 dm 110 dg 1048580
1502
CC sm 110 sg 2621445 dm 14 dg 2621445
1503
CC sm 14 sg 1048581 dm 110 dg 1048581
1504
GC m 111 g 0 n in o 0
1505
GC m 111 g 3 n out o 1
1506
MC id 111 c App t App pid 15 n app
1507
GC m 112 g 0 n upIn o 0
1508
GC m 112 g 3 n upOut o 1
1509
GC m 112 g 4 n downIn o 0
1510
GC m 112 g 7 n downOut o 1
1511
MC id 112 c Routing t Routing pid 15 n routing
1512
GC m 113 g 0 n upIn o 0
1513
GC m 113 g 3 n upOut o 1
1514
GC m 113 g 4 n downIn o 0
1515
GC m 113 g 7 n downOut o 1
1516
MC id 113 c Mac t Mac pid 15 n mac
1517
GC m 114 g 4 n upIn o 0
1518
GC m 114 g 7 n upOut o 1
1519
MC id 114 c PhyChannel t PhyChannel pid 15 n phyChannel
1520
GC m 114 g 1048576 n in i 0 o 0
1521
GC m 114 g 1048577 n in i 1 o 0
1522
GC m 114 g 1048578 n in i 2 o 0
1523
GC m 114 g 1048579 n in i 3 o 0
1524
GC m 114 g 1048580 n in i 4 o 0
1525
GC m 114 g 1048581 n in i 5 o 0
1526
GC m 114 g 2621440 n out i 0 o 1
1527
GC m 114 g 2621441 n out i 1 o 1
1528
GC m 114 g 2621442 n out i 2 o 1
1529
GC m 114 g 2621443 n out i 3 o 1
1530
GC m 114 g 2621444 n out i 4 o 1
1531
GC m 114 g 2621445 n out i 5 o 1
1532
CC sm 112 sg 3 dm 111 dg 0
1533
CC sm 111 sg 3 dm 112 dg 0
1534
CC sm 112 sg 7 dm 113 dg 0
1535
CC sm 113 sg 3 dm 112 dg 4
1536
CC sm 113 sg 7 dm 114 dg 4
1537
CC sm 114 sg 7 dm 113 dg 4
1538
CC sm 114 sg 2621440 dm 15 dg 2621440
1539
CC sm 15 sg 1048576 dm 114 dg 1048576
1540
CC sm 114 sg 2621441 dm 15 dg 2621441
1541
CC sm 15 sg 1048577 dm 114 dg 1048577
1542
CC sm 114 sg 2621442 dm 15 dg 2621442
1543
CC sm 15 sg 1048578 dm 114 dg 1048578
1544
CC sm 114 sg 2621443 dm 15 dg 2621443
1545
CC sm 15 sg 1048579 dm 114 dg 1048579
1546
CC sm 114 sg 2621444 dm 15 dg 2621444
1547
CC sm 15 sg 1048580 dm 114 dg 1048580
1548
CC sm 114 sg 2621445 dm 15 dg 2621445
1549
CC sm 15 sg 1048581 dm 114 dg 1048581
1550
GC m 115 g 0 n in o 0
1551
GC m 115 g 3 n out o 1
1552
MC id 115 c App t App pid 16 n app
1553
GC m 116 g 0 n upIn o 0
1554
GC m 116 g 3 n upOut o 1
1555
GC m 116 g 4 n downIn o 0
1556
GC m 116 g 7 n downOut o 1
1557
MC id 116 c Routing t Routing pid 16 n routing
1558
GC m 117 g 0 n upIn o 0
1559
GC m 117 g 3 n upOut o 1
1560
GC m 117 g 4 n downIn o 0
1561
GC m 117 g 7 n downOut o 1
1562
MC id 117 c Mac t Mac pid 16 n mac
1563
GC m 118 g 4 n upIn o 0
1564
GC m 118 g 7 n upOut o 1
1565
MC id 118 c PhyChannel t PhyChannel pid 16 n phyChannel
1566
GC m 118 g 1048576 n in i 0 o 0
1567
GC m 118 g 1048577 n in i 1 o 0
1568
GC m 118 g 1048578 n in i 2 o 0
1569
GC m 118 g 1048579 n in i 3 o 0
1570
GC m 118 g 1048580 n in i 4 o 0
1571
GC m 118 g 1048581 n in i 5 o 0
1572
GC m 118 g 2621440 n out i 0 o 1
1573
GC m 118 g 2621441 n out i 1 o 1
1574
GC m 118 g 2621442 n out i 2 o 1
1575
GC m 118 g 2621443 n out i 3 o 1
1576
GC m 118 g 2621444 n out i 4 o 1
1577
GC m 118 g 2621445 n out i 5 o 1
1578
CC sm 116 sg 3 dm 115 dg 0
1579
CC sm 115 sg 3 dm 116 dg 0
1580
CC sm 116 sg 7 dm 117 dg 0
1581
CC sm 117 sg 3 dm 116 dg 4
1582
CC sm 117 sg 7 dm 118 dg 4
1583
CC sm 118 sg 7 dm 117 dg 4
1584
CC sm 118 sg 2621440 dm 16 dg 2621440
1585
CC sm 16 sg 1048576 dm 118 dg 1048576
1586
CC sm 118 sg 2621441 dm 16 dg 2621441
1587
CC sm 16 sg 1048577 dm 118 dg 1048577
1588
CC sm 118 sg 2621442 dm 16 dg 2621442
1589
CC sm 16 sg 1048578 dm 118 dg 1048578
1590
CC sm 118 sg 2621443 dm 16 dg 2621443
1591
CC sm 16 sg 1048579 dm 118 dg 1048579
1592
CC sm 118 sg 2621444 dm 16 dg 2621444
1593
CC sm 16 sg 1048580 dm 118 dg 1048580
1594
CC sm 118 sg 2621445 dm 16 dg 2621445
1595
CC sm 16 sg 1048581 dm 118 dg 1048581
1596
GC m 119 g 0 n in o 0
1597
GC m 119 g 3 n out o 1
1598
MC id 119 c App t App pid 17 n app
1599
GC m 120 g 0 n upIn o 0
1600
GC m 120 g 3 n upOut o 1
1601
GC m 120 g 4 n downIn o 0
1602
GC m 120 g 7 n downOut o 1
1603
MC id 120 c Routing t Routing pid 17 n routing
1604
GC m 121 g 0 n upIn o 0
1605
GC m 121 g 3 n upOut o 1
1606
GC m 121 g 4 n downIn o 0
1607
GC m 121 g 7 n downOut o 1
1608
MC id 121 c Mac t Mac pid 17 n mac
1609
GC m 122 g 4 n upIn o 0
1610
GC m 122 g 7 n upOut o 1
1611
MC id 122 c PhyChannel t PhyChannel pid 17 n phyChannel
1612
GC m 122 g 1048576 n in i 0 o 0
1613
GC m 122 g 1048577 n in i 1 o 0
1614
GC m 122 g 1048578 n in i 2 o 0
1615
GC m 122 g 1048579 n in i 3 o 0
1616
GC m 122 g 1048580 n in i 4 o 0
1617
GC m 122 g 1048581 n in i 5 o 0
1618
GC m 122 g 2621440 n out i 0 o 1
1619
GC m 122 g 2621441 n out i 1 o 1
1620
GC m 122 g 2621442 n out i 2 o 1
1621
GC m 122 g 2621443 n out i 3 o 1
1622
GC m 122 g 2621444 n out i 4 o 1
1623
GC m 122 g 2621445 n out i 5 o 1
1624
CC sm 120 sg 3 dm 119 dg 0
1625
CC sm 119 sg 3 dm 120 dg 0
1626
CC sm 120 sg 7 dm 121 dg 0
1627
CC sm 121 sg 3 dm 120 dg 4
1628
CC sm 121 sg 7 dm 122 dg 4
1629
CC sm 122 sg 7 dm 121 dg 4
1630
CC sm 122 sg 2621440 dm 17 dg 2621440
1631
CC sm 17 sg 1048576 dm 122 dg 1048576
1632
CC sm 122 sg 2621441 dm 17 dg 2621441
1633
CC sm 17 sg 1048577 dm 122 dg 1048577
1634
CC sm 122 sg 2621442 dm 17 dg 2621442
1635
CC sm 17 sg 1048578 dm 122 dg 1048578
1636
CC sm 122 sg 2621443 dm 17 dg 2621443
1637
CC sm 17 sg 1048579 dm 122 dg 1048579
1638
CC sm 122 sg 2621444 dm 17 dg 2621444
1639
CC sm 17 sg 1048580 dm 122 dg 1048580
1640
CC sm 122 sg 2621445 dm 17 dg 2621445
1641
CC sm 17 sg 1048581 dm 122 dg 1048581
1642
GC m 123 g 0 n in o 0
1643
GC m 123 g 3 n out o 1
1644
MC id 123 c App t App pid 18 n app
1645
GC m 124 g 0 n upIn o 0
1646
GC m 124 g 3 n upOut o 1
1647
GC m 124 g 4 n downIn o 0
1648
GC m 124 g 7 n downOut o 1
1649
MC id 124 c Routing t Routing pid 18 n routing
1650
GC m 125 g 0 n upIn o 0
1651
GC m 125 g 3 n upOut o 1
1652
GC m 125 g 4 n downIn o 0
1653
GC m 125 g 7 n downOut o 1
1654
MC id 125 c Mac t Mac pid 18 n mac
1655
GC m 126 g 4 n upIn o 0
1656
GC m 126 g 7 n upOut o 1
1657
MC id 126 c PhyChannel t PhyChannel pid 18 n phyChannel
1658
GC m 126 g 1048576 n in i 0 o 0
1659
GC m 126 g 1048577 n in i 1 o 0
1660
GC m 126 g 1048578 n in i 2 o 0
1661
GC m 126 g 1048579 n in i 3 o 0
1662
GC m 126 g 1048580 n in i 4 o 0
1663
GC m 126 g 1048581 n in i 5 o 0
1664
GC m 126 g 2621440 n out i 0 o 1
1665
GC m 126 g 2621441 n out i 1 o 1
1666
GC m 126 g 2621442 n out i 2 o 1
1667
GC m 126 g 2621443 n out i 3 o 1
1668
GC m 126 g 2621444 n out i 4 o 1
1669
GC m 126 g 2621445 n out i 5 o 1
1670
CC sm 124 sg 3 dm 123 dg 0
1671
CC sm 123 sg 3 dm 124 dg 0
1672
CC sm 124 sg 7 dm 125 dg 0
1673
CC sm 125 sg 3 dm 124 dg 4
1674
CC sm 125 sg 7 dm 126 dg 4
1675
CC sm 126 sg 7 dm 125 dg 4
1676
CC sm 126 sg 2621440 dm 18 dg 2621440
1677
CC sm 18 sg 1048576 dm 126 dg 1048576
1678
CC sm 126 sg 2621441 dm 18 dg 2621441
1679
CC sm 18 sg 1048577 dm 126 dg 1048577
1680
CC sm 126 sg 2621442 dm 18 dg 2621442
1681
CC sm 18 sg 1048578 dm 126 dg 1048578
1682
CC sm 126 sg 2621443 dm 18 dg 2621443
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff