• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdeio/tdeio
 

tdeio/tdeio

  • tdeio
  • tdeio
ktraderparse.cpp
1/* This file is part of the KDE project
2 Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 Boston, MA 02110-1301, USA.
18*/
19
20#include <assert.h>
21#include <stdlib.h>
22
23// TODO: Torben: On error free memory!
24
25extern "C"
26{
27#include "ktraderparse.h"
28}
29
30#include "ktraderparsetree.h"
31#include <kdebug.h>
32
33using namespace TDEIO;
34
35static ParseTreeBase::Ptr *pTree = 0;
36static const char* sCode = 0;
37
38ParseTreeBase::Ptr TDEIO::parseConstraints( const TQString& _constr )
39{
40 TQCString str = _constr.utf8();
41 sCode = str.data();
42 TDETraderParse_mainParse( sCode );
43 sCode = 0;
44 assert( pTree );
45 return *pTree;
46}
47
48ParseTreeBase::Ptr TDEIO::parsePreferences( const TQString& _prefs )
49{
50 TQCString str = _prefs.utf8();
51 sCode = str.data();
52 TDETraderParse_mainParse( sCode );
53 sCode = 0;
54 assert( pTree );
55 return *pTree;
56}
57
58void TDETraderParse_setParseTree( void *_ptr1 )
59{
60 if ( !pTree )
61 pTree = new ParseTreeBase::Ptr; // ### leak; should use KStaticDeleter
62 *pTree = static_cast<ParseTreeBase*>( _ptr1 );
63}
64
65
66void TDETraderParse_error( const char* err )
67{
68 kdWarning(7014) << "Parsing '" << sCode << "' gave " << err << endl;
69}
70
71void* TDETraderParse_newOR( void *_ptr1, void *_ptr2 )
72{
73 return new ParseTreeOR( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2 );
74}
75
76void* TDETraderParse_newAND( void *_ptr1, void *_ptr2 )
77{
78 return new ParseTreeAND( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2 );
79}
80
81void* TDETraderParse_newCMP( void *_ptr1, void *_ptr2, int _i )
82{
83 return new ParseTreeCMP( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2, _i );
84}
85
86void* TDETraderParse_newIN( void *_ptr1, void *_ptr2 )
87{
88 return new ParseTreeIN( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2 );
89}
90
91void* TDETraderParse_newMATCH( void *_ptr1, void *_ptr2 )
92{
93 return new ParseTreeMATCH( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2 );
94}
95
96void* TDETraderParse_newCALC( void *_ptr1, void *_ptr2, int _i )
97{
98 return new ParseTreeCALC( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2, _i );
99}
100
101void* TDETraderParse_newBRACKETS( void *_ptr1 )
102{
103 return new ParseTreeBRACKETS( (ParseTreeBase*)_ptr1 );
104}
105
106void* TDETraderParse_newNOT( void *_ptr1 )
107{
108 return new ParseTreeNOT( (ParseTreeBase*)_ptr1 );
109}
110
111void* TDETraderParse_newEXIST( char *_ptr1 )
112{
113 ParseTreeEXIST *t = new ParseTreeEXIST( _ptr1 );
114 free(_ptr1);
115 return t;
116}
117
118void* TDETraderParse_newID( char *_ptr1 )
119{
120 ParseTreeID *t = new ParseTreeID( _ptr1 );
121 free(_ptr1);
122 return t;
123}
124
125void* TDETraderParse_newSTRING( char *_ptr1 )
126{
127 ParseTreeSTRING *t = new ParseTreeSTRING( _ptr1 );
128 free(_ptr1);
129 return t;
130}
131
132void* TDETraderParse_newNUM( int _i )
133{
134 return new ParseTreeNUM( _i );
135}
136
137void* TDETraderParse_newFLOAT( float _f )
138{
139 return new ParseTreeDOUBLE( _f );
140}
141
142void* TDETraderParse_newBOOL( char _b )
143{
144 return new ParseTreeBOOL( (bool)_b );
145}
146
147void* TDETraderParse_newMAX2( char *_id )
148{
149 ParseTreeMAX2 *t = new ParseTreeMAX2( _id );
150 free(_id);
151 return t;
152}
153
154void* TDETraderParse_newMIN2( char *_id )
155{
156 ParseTreeMIN2 *t = new ParseTreeMIN2( _id );
157 free(_id);
158 return t;
159}
TDEIO
A namespace for TDEIO globals.
Definition authinfo.h:29

tdeio/tdeio

Skip menu "tdeio/tdeio"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

tdeio/tdeio

Skip menu "tdeio/tdeio"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeio/tdeio by doxygen 1.9.8
This website is maintained by Timothy Pearson.