[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r2941 - in freeway/src/org/gnu/freeway: cwrappers/util serv
From: |
mdonoughe |
Subject: |
[GNUnet-SVN] r2941 - in freeway/src/org/gnu/freeway: cwrappers/util server services services/impl |
Date: |
Mon, 29 May 2006 11:21:27 -0700 (PDT) |
Author: mdonoughe
Date: 2006-05-29 11:21:23 -0700 (Mon, 29 May 2006)
New Revision: 2941
Added:
freeway/src/org/gnu/freeway/services/impl/
freeway/src/org/gnu/freeway/services/impl/StatsService.java
Modified:
freeway/src/org/gnu/freeway/cwrappers/util/SwitchTableGenerator.java
freeway/src/org/gnu/freeway/server/CPluginLoader.java
freeway/src/org/gnu/freeway/server/CPluginLoaderTest.java
Log:
CPluginLoaderTest has a new test to test the StatsService. This test
does not seem work properly, but it does run.
services.impl.StatsService is included for now because I needed to
manually modify it to load the correct native library.
Modified: freeway/src/org/gnu/freeway/cwrappers/util/SwitchTableGenerator.java
===================================================================
--- freeway/src/org/gnu/freeway/cwrappers/util/SwitchTableGenerator.java
2006-05-29 17:39:53 UTC (rev 2940)
+++ freeway/src/org/gnu/freeway/cwrappers/util/SwitchTableGenerator.java
2006-05-29 18:21:23 UTC (rev 2941)
@@ -161,10 +161,10 @@
}
public static int getArgumentType(Class c) {
- if (c == Void.class)
+ if ("void".equals(c.getName()))
return CWrapper.VOID_KIND;
try {
- Field f = c.getField("KIND");
+ Field f = getPrivateField(c, "KIND");
f.setAccessible(true);
Integer i = (Integer) f.get(null);
int ret = i.intValue();
@@ -174,4 +174,15 @@
throw new Error(t);
}
}
+
+ public static Field getPrivateField(Class c, String name) throws
NoSuchFieldException {
+ if("void".equals(c.getName())) {
+ System.exit(0);
+ }
+ Field[] fields = c.getDeclaredFields();
+ for(int i = 0; i < fields.length; i++)
+ if(name.equals(fields[i].getName()))
+ return fields[i];
+ throw new NoSuchFieldException(name);
+ }
}
Modified: freeway/src/org/gnu/freeway/server/CPluginLoader.java
===================================================================
--- freeway/src/org/gnu/freeway/server/CPluginLoader.java 2006-05-29
17:39:53 UTC (rev 2940)
+++ freeway/src/org/gnu/freeway/server/CPluginLoader.java 2006-05-29
18:21:23 UTC (rev 2941)
@@ -42,7 +42,7 @@
private static native void cUnloadService(long modulePtr);
- public CPluginLoader() {
+ public CPluginLoader() {
}
/**
Modified: freeway/src/org/gnu/freeway/server/CPluginLoaderTest.java
===================================================================
--- freeway/src/org/gnu/freeway/server/CPluginLoaderTest.java 2006-05-29
17:39:53 UTC (rev 2940)
+++ freeway/src/org/gnu/freeway/server/CPluginLoaderTest.java 2006-05-29
18:21:23 UTC (rev 2941)
@@ -2,17 +2,33 @@
import junit.framework.TestCase;
import junit.textui.TestRunner;
+import org.gnu.freeway.services.StatsService;
+import org.gnu.freeway.cwrappers.ConstCString;
+import org.gnu.freeway.cwrappers.CInt;
+import org.gnu.freeway.cwrappers.ConstCLong;
+import org.gnu.freeway.cwrappers.CLong;
+import org.gnu.freeway.cwrappers.ConstCInt;
public class CPluginLoaderTest extends TestCase {
- public void testService() {
+ public void testServiceLoad() {
CPluginLoader cpl = new CPluginLoader();
CPluginLoader.Handle modulePtr = cpl.loadService("module_chat");
assertFalse(modulePtr._ == 0);
cpl.unloadService(modulePtr);
}
-
+ public void testStatService() {
+ CPluginLoader cpl = new CPluginLoader();
+ StatsService statsService = (StatsService)
cpl.createService("StatsService");
+ CInt statHandle = statsService.create(new ConstCString("# of
test stats"));
+ //assertFalse(statHandle.getValue() == 0);
+ statsService.set(statHandle, new ConstCLong(0));
+ statsService.change(statHandle, new ConstCInt(1));
+ CLong result = statsService.get(statHandle);
+ assertFalse(result == null);
+ assertTrue(result.getValue() == 1);
+ }
public static void main(String[] args) {
TestRunner.run(CPluginLoaderTest.class);
Added: freeway/src/org/gnu/freeway/services/impl/StatsService.java
===================================================================
--- freeway/src/org/gnu/freeway/services/impl/StatsService.java 2006-05-29
17:39:53 UTC (rev 2940)
+++ freeway/src/org/gnu/freeway/services/impl/StatsService.java 2006-05-29
18:21:23 UTC (rev 2941)
@@ -0,0 +1,40 @@
+// This class was autogenerated by SwitchTableGenerator
+package org.gnu.freeway.services.impl;
+
+import org.gnu.freeway.cwrappers.CInt;
+import org.gnu.freeway.cwrappers.ConstCLong;
+import org.gnu.freeway.cwrappers.CLong;
+import org.gnu.freeway.cwrappers.ConstCInt;
+import org.gnu.freeway.cwrappers.ConstCString;
+import org.gnu.freeway.server.CPluginLoader;
+
+public class StatsService implements org.gnu.freeway.services.StatsService {
+private CPluginLoader loader;
+private CPluginLoader.Handle handle;
+
+public StatsService(CPluginLoader loader) {
+this.loader = loader;
+handle = loader.loadService("module_stats");
+}
+
+protected void finalize() {
+loader.unloadService(handle);
+}
+
+public void change(ConstCInt arg0, ConstCInt arg1) {
+loader.callC(handle, "change", this, new Object[] {arg0, arg1});
+}
+
+public CLong get(ConstCInt arg0) {
+return (CLong) loader.callC(handle, "get", this, new Object[] {arg0});
+}
+
+public void set(ConstCInt arg0, ConstCLong arg1) {
+loader.callC(handle, "set", this, new Object[] {arg0, arg1});
+}
+
+public CInt create(ConstCString arg0) {
+return (CInt) loader.callC(handle, "create", this, new Object[] {arg0});
+}
+
+}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r2941 - in freeway/src/org/gnu/freeway: cwrappers/util server services services/impl,
mdonoughe <=