Octave logo Octave-Forge - Extra packages for GNU Octave
Home · Packages · Developers · Documentation · Function Reference · FAQ · Bugs · Mailing Lists · Links · SVN
  • Main Page
  • Classes
  • Files

examples/myprop.c

Go to the documentation of this file.
00001 /*
00002 
00003 Copyright (C) 2007 John W. Eaton
00004 
00005 This file is part of Octave.
00006 
00007 Octave is free software; you can redistribute it and/or modify it
00008 under the terms of the GNU General Public License as published by the
00009 Free Software Foundation; either version 3 of the License, or (at your
00010 option) any later version.
00011 
00012 Octave is distributed in the hope that it will be useful, but WITHOUT
00013 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00014 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00015 for more details.
00016 
00017 You should have received a copy of the GNU General Public License
00018 along with Octave; see the file COPYING.  If not, see
00019 <http://www.gnu.org/licenses/>.
00020 
00021 */
00022 
00023 #include "mex.h"
00024 
00025 void
00026 mexFunction (int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
00027 {
00028   double handle;
00029   char property[256];
00030 
00031   if (nrhs < 2 || nrhs > 3)
00032     mexErrMsgTxt ("incorrect number of arguments");
00033   if (!mxIsDouble(prhs[0]))
00034     mexErrMsgTxt ("handle expected to be a double scalar");
00035   if (!mxIsChar (prhs[1]))
00036     mexErrMsgTxt ("expected property to be a string");
00037   
00038   handle = mxGetScalar (prhs[0]);
00039   mxGetString (prhs[1], property, 256);
00040   plhs[0] = mxDuplicateArray (mexGet (handle, property));
00041   
00042   if (nrhs == 3)
00043     if (mexSet (handle, property, mxDuplicateArray (prhs[2])))
00044       mexErrMsgTxt ("failed to set property");
00045 }
00046   
00047 
SourceForge.net Logo