source: trunk/lang/matlab/rpLibXml.cc @ 1018

Last change on this file since 1018 was 162, checked in by dkearney, 18 years ago

changed matlab api to call c++ functions instead of rappture's c api
removed following functions because they are outdated and should not be included at matlab/octave's release
src/octave/rpLibPutDoubleId.cc
src/octave/rpLibPutStringId.cc
src/matlab/rpLibPutDoubleId.cc
src/matlab/rpLibPutStringId.cc
cleaned up makefile to reflect the removal of above functions.
matlab bindings need to be retested. they receive a runtime error about undefined symbols

File size: 1.8 KB
Line 
1/*
2 * ----------------------------------------------------------------------
3 *  INTERFACE: Matlab Rappture Library Source
4 *
5 *    [retStr,err] = rpLibXml(lib)
6 *
7 * ======================================================================
8 *  AUTHOR:  Derrick Kearney, Purdue University
9 *  Copyright (c) 2004-2005  Purdue Research Foundation
10 *
11 *  See the file "license.terms" for information on usage and
12 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
13 * ======================================================================
14 */
15
16#include "RpMatlabInterface.h"
17
18/**********************************************************************/
19// METHOD: [retStr,err] = rpLibXml (libHandle)
20/// Returns the xml from the Rappture Object represented by 'libHandle'.
21/**
22 * Usually called by user when they need to retrieve the character`
23 * representation of the xml being stored in the Rappture Library Object
24 * Error code, err=0 on success, anything else is failure.
25 */
26
27void mexFunction(int nlhs, mxArray *plhs[],
28                 int nrhs, const mxArray *prhs[])
29{
30    int libIndex = 0;
31    int err = 1;
32    RpLibrary* lib = NULL;
33    std::string retStr = "";
34
35    /* Check for proper number of arguments. */
36    if (nrhs != 1) {
37        mexErrMsgTxt("One input required.");
38    }
39
40    // grab the integer value of the library handle
41    libIndex = getIntInput(prhs[0]);
42
43    /* Call the C subroutine. */
44    if (libIndex > 0) {
45        lib = getObject_Lib(libIndex);
46        if (lib) {
47            retStr = lib->xml();
48            if (!retStr.empty()) {
49                err = 0;
50            }
51        }
52    }
53
54    /* Set C-style string output_buf to MATLAB mexFunction output*/
55    plhs[0] = mxCreateString(retStr.c_str());
56    plhs[1] = mxCreateDoubleScalar(err);
57
58    return;
59}
Note: See TracBrowser for help on using the repository browser.