diff examples/myprop.c @ 6595:55586d763de1

[project @ 2007-04-27 15:31:10 by dbateman]
author dbateman
date Fri, 27 Apr 2007 15:31:10 +0000
parents
children 4270ded9ddc6
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/examples/myprop.c
@@ -0,0 +1,25 @@
+#include "mex.h"
+
+void
+mexFunction (int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
+{
+  double handle;
+  char property[256];
+
+  if (nrhs < 2 || nrhs > 3)
+    mexErrMsgTxt ("incorrect number of arguments");
+  if (!mxIsDouble(prhs[0]))
+    mexErrMsgTxt ("handle expected to be a double scalar");
+  if (!mxIsChar (prhs[1]))
+    mexErrMsgTxt ("expected property to be a string");
+  
+  handle = mxGetScalar (prhs[0]);
+  mxGetString (prhs[1], property, 256);
+  plhs[0] = mxDuplicateArray (mexGet (handle, property));
+  
+  if (nrhs == 3)
+    if (mexSet (handle, property, mxDuplicateArray (prhs[2])))
+      mexErrMsgTxt ("failed to set property");
+}
+  
+