// Copyright (C) 1999 Jean-Marc Valin & Dominic Letourneau
#include "Node.h"
#include "Stream.h"
using namespace std;
namespace FD {
class Stdin;
DECLARE_NODE(Stdin)
/*Node
*
* @name Stdin
* @category IO
* @description Returns the stdin stream (cin)
*
* @output_name OUTPUT
* @output_description Stdin stream
* @output_type Stream
*
END*/
class Stdin : public Node
{
protected:
ObjectRef value;
int outputID;
public:
Stdin(string nodeName, ParameterSet params)
: Node(nodeName, params)
, value (ObjectRef(new IStream(&cin,false)))
{
outputID = addOutput("OUTPUT");
}
virtual ObjectRef getOutput(int output_id, int count)
{
if (output_id==outputID)
return value;
else
throw new NodeException (this, "Stdin: Unknown output id", __FILE__, __LINE__);
}
};
}//namespace FD
syntax highlighted by Code2HTML, v. 0.9.1