summaryrefslogtreecommitdiffstats
path: root/embedding/csharp/uSCXMLEmbedding
diff options
context:
space:
mode:
Diffstat (limited to 'embedding/csharp/uSCXMLEmbedding')
-rw-r--r--embedding/csharp/uSCXMLEmbedding/Examples.csproj13
-rw-r--r--embedding/csharp/uSCXMLEmbedding/Extensions/CustomDataModel.cs (renamed from embedding/csharp/uSCXMLEmbedding/Extensions/SampleDataModel.cs)11
-rw-r--r--embedding/csharp/uSCXMLEmbedding/Extensions/CustomExecutableContent.cs (renamed from embedding/csharp/uSCXMLEmbedding/Extensions/SampleExecutableContent.cs)4
-rw-r--r--embedding/csharp/uSCXMLEmbedding/Extensions/CustomIOProc.cs (renamed from embedding/csharp/uSCXMLEmbedding/Extensions/SampleIOProc.cs)8
-rw-r--r--embedding/csharp/uSCXMLEmbedding/Extensions/CustomInterpreterMonitor.cs (renamed from embedding/csharp/uSCXMLEmbedding/Extensions/SampleInterpreterMonitor.cs)2
-rw-r--r--embedding/csharp/uSCXMLEmbedding/Extensions/CustomInvoker.cs (renamed from embedding/csharp/uSCXMLEmbedding/Extensions/SampleInvoker.cs)10
-rw-r--r--embedding/csharp/uSCXMLEmbedding/Program.cs34
7 files changed, 55 insertions, 27 deletions
diff --git a/embedding/csharp/uSCXMLEmbedding/Examples.csproj b/embedding/csharp/uSCXMLEmbedding/Examples.csproj
index b1579bf..b312b5f 100644
--- a/embedding/csharp/uSCXMLEmbedding/Examples.csproj
+++ b/embedding/csharp/uSCXMLEmbedding/Examples.csproj
@@ -41,18 +41,19 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
- <Reference Include="uscxmlCSharp">
+ <Reference Include="uscxmlCSharp, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
<HintPath>C:\Users\sradomski\Desktop\build\uscxml\lib\uscxmlCSharp.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
- <Compile Include="Extensions\SampleDataModel.cs" />
- <Compile Include="Extensions\SampleExecutableContent.cs" />
- <Compile Include="Extensions\SampleInterpreterMonitor.cs" />
- <Compile Include="Extensions\SampleInvoker.cs" />
- <Compile Include="Extensions\SampleIOProc.cs" />
+ <Compile Include="Extensions\CustomDataModel.cs" />
+ <Compile Include="Extensions\CustomExecutableContent.cs" />
+ <Compile Include="Extensions\CustomInterpreterMonitor.cs" />
+ <Compile Include="Extensions\CustomInvoker.cs" />
+ <Compile Include="Extensions\CustomIOProc.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
diff --git a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleDataModel.cs b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomDataModel.cs
index 4d70594..b2ee1de 100644
--- a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleDataModel.cs
+++ b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomDataModel.cs
@@ -4,13 +4,13 @@ using System.Linq;
using System.Text;
using org.uscxml;
-namespace EmbeddedDataModel
+namespace embedding
{
- class SampleDataModel : DataModel
+ class CustomDataModel : DataModel
{
public override DataModel create(Interpreter interpreter)
{
- return new SampleDataModel();
+ return new CustomDataModel();
}
public override void eval(string scriptElem, string expr)
@@ -54,10 +54,9 @@ namespace EmbeddedDataModel
return names;
}
- public override DataNative getStringAsData(string content)
+ public override Data getStringAsData(string content)
{
- // DataNative ought to be wrapped by a Data.cs class - used to carry JSONesque structures
- DataNative data = new DataNative();
+ Data data = new Data();
return data;
}
diff --git a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleExecutableContent.cs b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomExecutableContent.cs
index a86776f..4789020 100644
--- a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleExecutableContent.cs
+++ b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomExecutableContent.cs
@@ -6,7 +6,7 @@ using org.uscxml;
namespace embedding
{
- class SampleExecutableContent : ExecutableContent
+ class CustomExecutableContent : ExecutableContent
{
public override string getLocalName()
{
@@ -25,7 +25,7 @@ namespace embedding
public override ExecutableContent create(Interpreter interpreter)
{
- return new SampleExecutableContent();
+ return new CustomExecutableContent();
}
diff --git a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleIOProc.cs b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomIOProc.cs
index 5abbf37..0480a34 100644
--- a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleIOProc.cs
+++ b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomIOProc.cs
@@ -6,16 +6,16 @@ using org.uscxml;
namespace embedding
{
- class SampleIOProc : IOProcessor
+ class CustomIOProc : IOProcessor
{
public override IOProcessor create(Interpreter interpreter)
{
- return new SampleIOProc();
+ return new CustomIOProc();
}
- public override DataNative getDataModelVariables()
+ public override Data getDataModelVariables()
{
- DataNative data = new DataNative();
+ Data data = new Data();
return data;
}
diff --git a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleInterpreterMonitor.cs b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomInterpreterMonitor.cs
index 2a2f561..8009aa0 100644
--- a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleInterpreterMonitor.cs
+++ b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomInterpreterMonitor.cs
@@ -6,7 +6,7 @@ using org.uscxml;
namespace embedding
{
- class SampleInterpreterMonitor : InterpreterMonitor
+ class CustomInterpreterMonitor : InterpreterMonitor
{
public override void afterCompletion(Interpreter interpreter) { }
public override void afterMicroStep(Interpreter interpreter) { }
diff --git a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleInvoker.cs b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomInvoker.cs
index f5fb363..3fd01ce 100644
--- a/embedding/csharp/uSCXMLEmbedding/Extensions/SampleInvoker.cs
+++ b/embedding/csharp/uSCXMLEmbedding/Extensions/CustomInvoker.cs
@@ -4,18 +4,18 @@ using System.Linq;
using System.Text;
using org.uscxml;
-namespace EmbeddedInvoker
+namespace embedding
{
- class SampleInvoker : Invoker
+ class CustomInvoker : Invoker
{
public override Invoker create(Interpreter interpreter)
{
- return new SampleInvoker();
+ return new CustomInvoker();
}
- public override DataNative getDataModelVariables()
+ public override Data getDataModelVariables()
{
- DataNative data = new DataNative();
+ Data data = new Data();
return data;
}
diff --git a/embedding/csharp/uSCXMLEmbedding/Program.cs b/embedding/csharp/uSCXMLEmbedding/Program.cs
index 559d28f..0c76cb4 100644
--- a/embedding/csharp/uSCXMLEmbedding/Program.cs
+++ b/embedding/csharp/uSCXMLEmbedding/Program.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using System.Diagnostics;
using System.Runtime.InteropServices;
namespace embedding
@@ -13,6 +14,34 @@ namespace embedding
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
private static extern void SetDllDirectory(string lpPathName);
+ static bool testLifecycle() {
+ // try to instantiate an interpreter with a parse error
+ try
+ {
+ Interpreter interpreter = Interpreter.fromXML("<invalid");
+ Debug.Assert(false);
+ }
+ catch (InterpreterException e) {
+ Console.Write(e.Message);
+ }
+
+ // try to instantiate an interpreter with invalid XML (no scxml element)
+ try
+ {
+ Interpreter interpreter = Interpreter.fromXML("<invalid />");
+ Debug.Assert(interpreter.getState() == InterpreterState.USCXML_INSTANTIATED);
+ InterpreterState state = interpreter.step();
+
+ Debug.Assert(false);
+ }
+ catch (InterpreterException e)
+ {
+ Console.Write(e.Message);
+ }
+
+ return true;
+ }
+
static void Main(string[] args)
{
@@ -28,9 +57,8 @@ namespace embedding
SetDllDirectory("C:\\Users\\sradomski\\Desktop\\build\\uscxml\\lib\\csharp");
}
- Interpreter interpreter = Interpreter.fromXML("<scxml><state id=\"f oo\" final=\"true\" /></scxml>");
- interpreter.addMonitor(new SampleInterpreterMonitor());
- interpreter.interpret();
+ testLifecycle();
+ Console.ReadKey();
}
}
}