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

Last change on this file since 3177 was 3177, checked in by mmc, 12 years ago

Updated all of the copyright notices to reference the transfer to
the new HUBzero Foundation, LLC.

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-2012  HUBzero Foundation, LLC
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 = (RpLibrary*) getObject_Void(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.