• 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 
25 extern "C"
26 {
27 #include "ktraderparse.h"
28 }
29 
30 #include "ktraderparsetree.h"
31 #include <kdebug.h>
32 
33 using namespace TDEIO;
34 
35 static ParseTreeBase::Ptr *pTree = 0;
36 static const char* sCode = 0;
37 
38 ParseTreeBase::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 
48 ParseTreeBase::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 
58 void 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 
66 void TDETraderParse_error( const char* err )
67 {
68  kdWarning(7014) << "Parsing '" << sCode << "' gave " << err << endl;
69 }
70 
71 void* TDETraderParse_newOR( void *_ptr1, void *_ptr2 )
72 {
73  return new ParseTreeOR( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2 );
74 }
75 
76 void* TDETraderParse_newAND( void *_ptr1, void *_ptr2 )
77 {
78  return new ParseTreeAND( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2 );
79 }
80 
81 void* TDETraderParse_newCMP( void *_ptr1, void *_ptr2, int _i )
82 {
83  return new ParseTreeCMP( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2, _i );
84 }
85 
86 void* TDETraderParse_newIN( void *_ptr1, void *_ptr2 )
87 {
88  return new ParseTreeIN( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2 );
89 }
90 
91 void* TDETraderParse_newMATCH( void *_ptr1, void *_ptr2 )
92 {
93  return new ParseTreeMATCH( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2 );
94 }
95 
96 void* TDETraderParse_newCALC( void *_ptr1, void *_ptr2, int _i )
97 {
98  return new ParseTreeCALC( (ParseTreeBase*)_ptr1, (ParseTreeBase*)_ptr2, _i );
99 }
100 
101 void* TDETraderParse_newBRACKETS( void *_ptr1 )
102 {
103  return new ParseTreeBRACKETS( (ParseTreeBase*)_ptr1 );
104 }
105 
106 void* TDETraderParse_newNOT( void *_ptr1 )
107 {
108  return new ParseTreeNOT( (ParseTreeBase*)_ptr1 );
109 }
110 
111 void* TDETraderParse_newEXIST( char *_ptr1 )
112 {
113  ParseTreeEXIST *t = new ParseTreeEXIST( _ptr1 );
114  free(_ptr1);
115  return t;
116 }
117 
118 void* TDETraderParse_newID( char *_ptr1 )
119 {
120  ParseTreeID *t = new ParseTreeID( _ptr1 );
121  free(_ptr1);
122  return t;
123 }
124 
125 void* TDETraderParse_newSTRING( char *_ptr1 )
126 {
127  ParseTreeSTRING *t = new ParseTreeSTRING( _ptr1 );
128  free(_ptr1);
129  return t;
130 }
131 
132 void* TDETraderParse_newNUM( int _i )
133 {
134  return new ParseTreeNUM( _i );
135 }
136 
137 void* TDETraderParse_newFLOAT( float _f )
138 {
139  return new ParseTreeDOUBLE( _f );
140 }
141 
142 void* TDETraderParse_newBOOL( char _b )
143 {
144  return new ParseTreeBOOL( (bool)_b );
145 }
146 
147 void* TDETraderParse_newMAX2( char *_id )
148 {
149  ParseTreeMAX2 *t = new ParseTreeMAX2( _id );
150  free(_id);
151  return t;
152 }
153 
154 void* 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
  • Modules
  • 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.1
This website is maintained by Timothy Pearson.