You can subscribe to this list here.
2003 |
Jan
(69) |
Feb
(122) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
|
Mar
(56) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(237) |
Jul
|
Aug
|
Sep
(1) |
Oct
(14) |
Nov
(72) |
Dec
|
2007 |
Jan
(2) |
Feb
(37) |
Mar
(5) |
Apr
|
May
(2) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Andrey C. <sku...@us...> - 2006-10-20 12:56:51
|
Update of /cvsroot/eas-dev/eas In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv28185 Modified Files: INSTALL Makefile README TODO Log Message: Move libcodb_query to CLIP. Append dependence to PAM into documentation. Index: INSTALL =================================================================== RCS file: /cvsroot/eas-dev/eas/INSTALL,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- INSTALL 6 Jun 2006 13:29:30 -0000 1.3 +++ INSTALL 20 Oct 2006 12:56:47 -0000 1.4 @@ -13,6 +13,7 @@ 3. Check libraries: - GTK+ (both libgtk+ and libgtk+-devel) - Expat (both libexpat and libexpat-devel) +- PAM (both libpam and libpam-devel) Note: on your system package may have another (but similar) names. Index: Makefile =================================================================== RCS file: /cvsroot/eas-dev/eas/Makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile 20 Jun 2006 10:25:52 -0000 1.4 +++ Makefile 20 Oct 2006 12:56:47 -0000 1.5 @@ -11,7 +11,7 @@ PACKAGE = "eas" DIRVERSION = "$(PACKAGE)" -SUBDIRS = libcodb_query libeas client server +SUBDIRS = libeas client server .PHONY: all clean distclean Index: README =================================================================== RCS file: /cvsroot/eas-dev/eas/README,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- README 21 Jun 2006 07:43:39 -0000 1.4 +++ README 20 Oct 2006 12:56:47 -0000 1.5 @@ -7,8 +7,8 @@ Type: Software platform Name: E/AS -Version: 0.2.1 -Date: 21 Jun 2006 +Version: 20061015 +Date: 15 Oct 2006 Author: Andrey (Skull) Cherepanov <sk...@ea...> License: GNU General Public License (GPL) v.2 @@ -35,6 +35,7 @@ Requires -------- - CLIP (with clip-gtk, clip-ui and clip-xml) +- PAM Install Index: TODO =================================================================== RCS file: /cvsroot/eas-dev/eas/TODO,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- TODO 2 Jun 2006 14:32:45 -0000 1.3 +++ TODO 20 Oct 2006 12:56:47 -0000 1.4 @@ -2,15 +2,23 @@ E/AS TODO ========= -Last change: 02 Jun 2006 +Last change: 15 Oct 2006 + +- clip-ui: + - pass pair (id,text) to UIChoice + - i18n + - UISheet (editable table) + - support Glade and QT designer form formats in UIForm +- components: + - actions + - automenu + - db console + - visual component manager -Important: -- error second connection to server -- fix configure for db path (/var/db/eas) and check libdir ______________________________________________________________________________ -Plans for eas-0.2.2 (September 2006) +Plans for eas-0.2.2 (End of 2006) ----------------------------------- - move libcodb_query to CLIP - pass error via messages (for example, in db operations) |
From: Andrey C. <sku...@us...> - 2006-10-20 12:56:51
|
Update of /cvsroot/eas-dev/eas/server In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv28185/server Modified Files: Makefile Log Message: Move libcodb_query to CLIP. Append dependence to PAM into documentation. Index: Makefile =================================================================== RCS file: /cvsroot/eas-dev/eas/server/Makefile,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Makefile 17 Jun 2006 17:00:36 -0000 1.6 +++ Makefile 20 Oct 2006 12:56:47 -0000 1.7 @@ -67,7 +67,7 @@ ../mkinstalldirs $(DESTDIR)/etc/eas ../mkinstalldirs $(DESTDIR)/etc/rc.d/init.d [ -f '/etc/eas/easserver.ini' ] && cp $(DESTDIR)/etc/eas/easserver.ini \ - $(DESTDIR)/etc/eas/easserver.ini.bak 2>/dev/null + $(DESTDIR)/etc/eas/easserver.ini.bak || true 2>/dev/null cp easserver.ini $(DESTDIR)/etc/eas/easserver.ini cp easd $(DESTDIR)/etc/rc.d/init.d/easd ../mkinstalldirs $(DESTDIR)/etc/pam.d |
From: Andrey C. <sku...@us...> - 2006-10-20 10:30:52
|
Update of /cvsroot/eas-dev/eas/libcodb_query In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv1276 Modified Files: codb.prg command.prg formatter.prg Makefile Log Message: Support comments, expand * for SELECT fields, DROP statement, quit codb by ESC Index: codb.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libcodb_query/codb.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- codb.prg 2 Jun 2006 14:32:45 -0000 1.1 +++ codb.prg 20 Oct 2006 10:30:23 -0000 1.2 @@ -1,9 +1,9 @@ /*-------------------------------------------------------------------------*/ -/* This is part of console client for CODB database */ -/* */ -/* Copyright (C) 2005 by E/AS Software Foundation */ -/* Author: Andrey Cherepanov <sk...@ea...> */ -/* */ +/* This is part of console client for CODB database */ +/* */ +/* Copyright (C) 2005 by E/AS Software Foundation */ +/* Author: Andrey Cherepanov <sk...@ea...> */ +/* */ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as */ /* published by the Free Software Foundation; either version 2 of the */ @@ -11,6 +11,7 @@ /*-------------------------------------------------------------------------*/ #define FILE_BUFFER 4096 +#include "inkey.ch" static clientVersion := "0.1" static db, dbname:="", fmt @@ -20,6 +21,7 @@ - connection string for connect via COBrA server (-u, -p, -s) - exit function for correct connection shutdown - 'set <param>=<mode>' command needed + - CODB daemon for query mode */ /* Main function */ @@ -137,18 +139,19 @@ /* Console mode. Using readline library */ static function consoleMode() - local comm:='', ret, prompt, buffer:='', cont:=.F., oErr + local comm:='', ret:='', prompt, buffer:='', cont:=.F., oErr // TODO: set key '\d' for exit prompt := dbname + "> " oErr := ErrorBlock({|e| break(e) }) while .T. - begin sequence + begin sequence ?? prompt - ACCEPT TO comm // TODO: Ctrl-C handle! + ACCEPT TO comm // TODO: Ctrl+C safe handle! + //?? "KEY:",chr(10) if .not. cont - if alltrim(upper(comm)) == 'QUIT' + if alltrim(upper(comm)) == 'QUIT' .or. lastkey() == K_ESC exit elseif upper(comm) == 'HELP' ret := codb_execute( db, comm+";" ) @@ -160,19 +163,19 @@ ret := executeCommand(buffer+comm) - if empty(ret) + if empty(ret) .or. substr(ltrim(ret),1,1) == '#' prompt := dbname + "> " cont := .F. buffer := '' else // Uncomplete command - prompt += iif(dbname!='',replicate('-',len(dbname)),'-') + "> " + prompt := iif(.not. empty(dbname),replicate('-',len(dbname)),'-') + "> " cont := .T. buffer := ret + ' ' endif - recover using oErr + recover using oErr ?? "INTERNAL ERROR:", oErr:description+' ('+oErr:fileName+')', chr(10) - end sequence + end sequence enddo return Index: command.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libcodb_query/command.prg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- command.prg 20 Jun 2006 10:25:52 -0000 1.4 +++ command.prg 20 Oct 2006 10:30:23 -0000 1.5 @@ -1,9 +1,9 @@ /*-------------------------------------------------------------------------*/ -/* This is part of console client for CODB database */ -/* */ -/* Copyright (C) 2005 by E/AS Software Foundation */ -/* Author: Andrey Cherepanov <sk...@ea...> */ -/* */ +/* This is part of console client for CODB database */ +/* */ +/* Copyright (C) 2005 by E/AS Software Foundation */ +/* Author: Andrey Cherepanov <sk...@ea...> */ +/* */ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as */ /* published by the Free Software Foundation; either version 2 of the */ @@ -17,9 +17,6 @@ - WHERE in SELECT statement: translate logical operation and quotes - export/import - use file content as command list - - CODB daemon for query mode - - DROP statement - - comment support - SET DBF CHARSET TO <> */ @@ -29,6 +26,7 @@ { "create", @ec_create(), "Create metaobject" }, ; { "delete", @ec_delete(), "Delete object or metaobject" }, ; { "describe", @ec_describe(), "Show metaclass structure" }, ; + { "drop", @ec_drop(), "Delete metaobject by its name" }, ; { "get", @ec_get(), "Get object from repository" }, ; { "metaget", @ec_metaget(), "Get metaobject" }, ; { "metaput", @ec_metaput(), "Create or update metaobject" }, ; @@ -236,7 +234,7 @@ /* Execute database command */ function codb_execute( self, cmd, db, files ) - local oErr, a:=array(0), r, i, key, ret, is_string:=.F., p, part:= '' + local oErr, a:=array(0), r, i, key, ret, is_string:=.F., is_comment:=.F., p, part:= '', pos // Create result object r := CODB_Result() @@ -280,13 +278,21 @@ loop endif + // Process comments + if cmd[i] == '#' + is_comment := .T. + endif + if cmd[i] == "&\n" .and. is_comment + is_comment := .F. + endif + if cmd[i] $ " &\t&\n," if i>1 .and. .not. cmd[i-1] $ " &\t&\n," aadd( a, part ) part := '' endif pos := i+1 - else + elseif .not. is_comment part := part + cmd[i] endif next @@ -497,7 +503,7 @@ /* 'SHOW' command */ static function ec_show( self, cmd, res, files ) - local oErr, dbh, dbl, i, j, pos, d:=self:dict, o, class + local oErr, dbh, dbl, i, j, pos, d:=self:dict, o, class, c_db if len(cmd) == 1 return "Metaclass name is missed" @@ -626,7 +632,7 @@ /* Get raw object*/ static function ec_get_object( self, id, res, files, d ) - local oErr, cEnt + local oErr, cEnt, dbl if valtype(d) == 'O' cEnt := 'metaobject' @@ -665,7 +671,7 @@ /* Put raw object*/ static function ec_put_object( self, obj, res, files, d, class ) - local oErr, id + local oErr, id, cEnt if valtype(d) == 'O' cEnt := 'metaobject' @@ -710,7 +716,8 @@ /* 'GET' command */ static function ec_get( self, cmd, res, files, d ) - local oErr, aKeys, k, p, v, class:="", attr, cEnt, oClass, j, oAttr + local oErr, k, p, v, class:="", attr, cEnt, oClass, j, oAttr, dbl + local aKeys, aNames, i if valtype(d) == 'O' cEnt := 'metaobject' @@ -1016,7 +1023,7 @@ /* 'DELETE' command */ static function ec_delete( self, cmd, res, files ) - local oErr, d:=self:dep, aKeys, k, p, v + local oErr, d:=self:dep, aKeys, k, p, v, dbl if len(cmd) == 1 return "Id is missed" @@ -1045,6 +1052,55 @@ end sequence return NIL +/* 'DROP' command */ +static function ec_drop( self, cmd, res, files ) + local dbl, oErr, d:=self:dict, j, class, id + + if len(cmd) == 1 + return "Metaobject class is missed" + endif + + if len(cmd) < 3 + return "Name is missed" + endif + + if empty(d) + return "Select database first ('use <DBNAME>')" + endif + + oErr := ErrorBlock({|e| break(e) }) + + //?? "delete",cmd[2],cmd[3],chr(10) + begin sequence + // Lookup metaobject + j := ascan(aMClassesDesc, {|e| e[1]==lower(cmd[2]) }) + if j == 0 + return "Cannot drop object: class not found" + endif + class := aMClassesDesc[j][2] + //?? "CLASS:", class, chr(10) + + dbl := d:select(class,,cmd[3]) + //?? "OBJECT:", dbl,chr(10) + + if len(dbl) == 0 + return "Cannot drop object '"+cmd[2]+' '+cmd[3]+"': object not found" + else + id := dbl[1] + endif + + // Delete metaobject + dbl := d:delete( id ) + //?? dbl, d:error,chr(10) + if .not. empty(d:error) + return "Cannot drop object '"+cmd[2]+' '+cmd[3]+"': object not found" + endif + recover using oErr + return "Error drop '"+cmd[2]+' '+cmd[3]+"': "+oErr:description + end sequence +return NIL + + /* 'CREATE' command */ static function ec_create( self, cmd, res, files ) local oErr, dbh, d:=map(), dict, desc:='', i @@ -1141,10 +1197,11 @@ /* 'SELECT' command */ static function ec_select( self, cmd, res, files ) - local oErr, dbl, d:=self:dep, dict:=self:dict, i + local oErr, dbl, d:=self:dep, dict:=self:dict, i, j local attrs:=array(0), classes:=array(0), where:=array(0) local status:=1, part, o, row, elem, classIds:=array(0) local value, where_condition, field + local item, adAttrs:=array(0), oClass, oAttr, z if dict == NIL return "Open database first" @@ -1183,8 +1240,6 @@ //?? "CLASSES:", classes, chr(10) //?? "WHERE:", where, chr(10) - // TODO: all fields by '*' - if len(classes) == 0 return "Class(es) is not defined" endif @@ -1205,7 +1260,38 @@ aadd(classIds, codb_metaIdByName(dict,i,"CLASS")) next endif - // Second: fill result with 'where' condition check + + // Second: insert all fields instead '*' + for i=1 to len(attrs) + if attrs[i] == '*' + if len(adAttrs) == 0 + for j in classIds + oClass := dict:getValue( j ) + for item in oClass:attr_list + oAttr := dict:getValue( item ) + if ascan(adAttrs, {|e| oAttr:name==e }) == 0 + aadd(adAttrs, oAttr:name) + endif + next + next + endif + attrs[i] := adAttrs + endif + next + adAttrs := array(0) + for i in attrs + if valtype(i) == 'A' + for j in i + aadd(adAttrs, j) + next + else + aadd(adAttrs, i) + endif + next + attrs := adAttrs + //?? "ATTR+:",attrs,chr(10) + + // Third: fill result with 'where' condition check res:fields := attrs res:data := array(0) @@ -1223,7 +1309,7 @@ //?? part,":",len(dbl), dbl,chr(10) if val(d:error) > 0 - return "Cannot get object list for class '"+part+"': "+d:error + return "Cannot get object list for class id '"+part+"': "+d:error endif // Fill attributes columns Index: formatter.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libcodb_query/formatter.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- formatter.prg 2 Jun 2006 14:32:45 -0000 1.1 +++ formatter.prg 20 Oct 2006 10:30:23 -0000 1.2 @@ -1,9 +1,9 @@ /*-------------------------------------------------------------------------*/ -/* This is part of console client for CODB database */ -/* */ -/* Copyright (C) 2005 by E/AS Software Foundation */ -/* Author: Andrey Cherepanov <sk...@ea...> */ -/* */ +/* This is part of console client for CODB database */ +/* */ +/* Copyright (C) 2005 by E/AS Software Foundation */ +/* Author: Andrey Cherepanov <sk...@ea...> */ +/* */ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as */ /* published by the Free Software Foundation; either version 2 of the */ Index: Makefile =================================================================== RCS file: /cvsroot/eas-dev/eas/libcodb_query/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile 6 Jun 2006 13:29:30 -0000 1.2 +++ Makefile 20 Oct 2006 10:30:24 -0000 1.3 @@ -56,7 +56,7 @@ dist: distclean .prg.o: - $(CLIP) $(CLIPINCLUDE) $< + $(CLIP) -w $(CLIPINCLUDE) $< commit: _cvs commit |
From: Andrey C. <sku...@us...> - 2006-10-18 09:04:07
|
Update of /cvsroot/eas-dev/clip-ui In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv12764 Removed Files: project.kateproject Log Message: CVS_SILENT Remove project.kateproject --- project.kateproject DELETED --- |
From: Andrey C. <sku...@us...> - 2006-10-18 08:51:20
|
Update of /cvsroot/eas-dev/clip-ui/example In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv7724/example Added Files: selection.xfl Log Message: Add test selection form --- NEW FILE: selection.xfl --- <?xml version="1.0" encoding="koi8-r" ?> <!-- Test interface form --> <!-- Web: http://eas.lrn.ru --> <form> <head> <!-- TODO: select existing item --> </head> <interface> <widget class="window" name="window" label="Selection example"> <widget class="label" label="Select person:" /> <widget class="table" name="table"> <column name="num" title="#" /> <column name="name" title="Name" /> <property name="altColor" value="#cbe8ff" /> <property name="row" element="1" value="'1','Alan'" /> <property name="row" element="2" value="'2','John'" /> <property name="row" element="3" value="'3','Mary'" /> </widget> <!-- Bottom panel --> <widget class="hbox"> <widget class="button" name="select" label="Select" /> <widget class="button" name="close" label="Close" /> </widget> </widget> </interface> <!-- Widget properties --> <style> <property widget="window" name="geometry" value="300,350,35,15" /> <property widget="window" name="position" value="center" /> <property widget="window" name="padding" value="5" /> <property widget="window" name="spacing" value="3" /> <property widget="window" name="icon" value="icons/eas-logo.xpm" /> </style> <actions> <rule> <event widget="close" signal="clicked"/> <action><call widget="window" method="close"/></action> </rule> <rule> <event widget="select" signal="clicked"/> <event widget="table" signal="selected"/> <action> <call widget="window" method="select"> <param value="table" /> <param value="2" /> </call> <call widget="window" method="close"/> </action> </rule> </actions> </form> |
From: Andrey C. <sku...@us...> - 2006-10-18 08:50:49
|
Update of /cvsroot/eas-dev/clip-ui/drivers In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv6918/drivers Modified Files: driver-gtk.prg Log Message: - Window now support spacing and padding in form - Pass both id and text for UIChoice - getValues() method ignore named buttons - UIChoice support setValue/getValue as array { text, id } Index: driver-gtk.prg =================================================================== RCS file: /cvsroot/eas-dev/clip-ui/drivers/driver-gtk.prg,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- driver-gtk.prg 6 Jun 2006 07:24:02 -0000 1.3 +++ driver-gtk.prg 18 Oct 2006 08:49:59 -0000 1.4 @@ -1314,7 +1314,7 @@ case "UIRadioButton" val := gtk_ToggleButtonGetActive( o ) - case "UISlider" + case "UISlider" a := gtk_ScaleGetAdjustment(o) gtk_AdjustmentGetValue(a, @val) |
From: Andrey C. <sku...@us...> - 2006-10-18 08:50:23
|
Update of /cvsroot/eas-dev/clip-ui/example In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv6918/example Modified Files: form_ui.prg testWindow.xfl Log Message: - Window now support spacing and padding in form - Pass both id and text for UIChoice - getValues() method ignore named buttons - UIChoice support setValue/getValue as array { text, id } Index: form_ui.prg =================================================================== RCS file: /cvsroot/eas-dev/clip-ui/example/form_ui.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- form_ui.prg 2 Jun 2006 14:12:09 -0000 1.1 +++ form_ui.prg 18 Oct 2006 08:49:59 -0000 1.2 @@ -59,3 +59,32 @@ ws:run() ws:quit() return 0 + +function openForm( obj, filename, action ) + local f, w + if valtype(obj) != 'O' + return NIL + endif + + f := UIForm( filename, obj ) + w := f:parseFile() + w:returnAction := action + + if w == NIL + return NIL + endif + w:show() + +return NIL + +function showValues() + local a, i + a := win:getValues() + for i in a + if valtype(i[2]) == 'A' + ?? " "+i[1]+" = ",i[2],chr(10) + else + ?? " "+i[1]+" = "+val2str(i[2]),chr(10) + endif + next +return Index: testWindow.xfl =================================================================== RCS file: /cvsroot/eas-dev/clip-ui/example/testWindow.xfl,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- testWindow.xfl 2 Jun 2006 14:12:10 -0000 1.1 +++ testWindow.xfl 18 Oct 2006 08:49:59 -0000 1.2 @@ -77,36 +77,38 @@ <widget name="tax" class="checkbox" label="Use &tax"> <property name="value" value="false" /> </widget> - <widget class="radiogroup"> - <widget class="radioButton" name="button1" label="button1" /> - <widget class="radioButton" name="button2" label="button2" /> - </widget> + <widget class="radiogroup"> + <widget class="radioButton" name="button1" label="button1" /> + <widget class="radioButton" name="button2" label="button2" /> + </widget> - <widget class="slider" > - <property name="value" value="10" /> - <property name="range" value="5-60" /> - <property name="step" value="5" /> - </widget> + <widget name="slider" class="slider" > + <property name="value" value="10" /> + <property name="range" value="5-60" /> + <property name="step" value="5" /> + </widget> - <widget class="progressbar" label="Progress: " /> - <widget class="hbox"> + <widget class="hbox"> <property name="padding" value="3" /> <widget class="label" label="Payment order N "> - <property name="font.style" value="bold" /> - <property name="font.size" value="16" /> - <property name="color.fg" value="#FF1790" /> + <property name="font.style" value="bold" /> + <property name="color.fg" value="#FF1790" /> </widget> <widget name="number" class="edit" label=""> - <property name="geometry.width" value="50" /> - <property name="value" value="11" /> + <property name="geometry.width" value="50" /> + <property name="value" value="11" /> </widget> <widget class="label" label=" from " /> <widget name="date" class="editdate" label=""> - <property name="geometry.width" value="70" /> - <property name="value" value="20.10.03" /> + <property name="geometry.width" value="70" /> + <property name="value" value="20.10.03" /> + </widget> + <widget class="label" label="Person:" /> + <widget name="person" class="choice" label=""> + <property name="value" value="" /> </widget> - </widget> + <widget name="color" class="editcolor" label=""> <property name="value" value="#91FF40" /> </widget> @@ -172,56 +174,74 @@ <!-- Widget properties --> <style> - <property widget="mainWindow" name="geometry" value="600,550,35,15" /> + <property widget="mainWindow" name="geometry" value="650,550,35,15" /> <property widget="mainWindow" name="position" value="center" /> <property widget="mainWindow" name="icon" value="icons/eas-logo.xpm" /> </style> <!-- Actions --> <actions> - <!-- System actions --> - <rule> - <event widget="Menu.Quit" signal="activate"/> - <event widget="close" signal="activate"/> - <action><call widget="mainWindow" method="close"/></action> - </rule> - - <rule> - <event widget="showTB" signal="activate"/> - <action><call widget="main_toolBar" method="show"> - <param><call widget="showTB" method="isChecked" /></param> - </call> - </action> - </rule> - - <rule> - <event widget="showSB" signal="activate"/> - <action> - <call widget="main_statusBar" method="show"> - <param><call widget="showSB" method="isChecked" /></param> - </call> - </action> - </rule> + <!-- System actions --> + <rule> + <event widget="Menu.Quit" signal="activate"/> + <event widget="close" signal="clicked"/> + <action><call widget="mainWindow" method="close"/></action> + </rule> + + <rule> + <event widget="save" signal="clicked"/> + <action><call method="showValues"/></action> + </rule> + + <rule> + <event widget="showTB" signal="activate"/> + <action><call widget="main_toolBar" method="show"> + <param><call widget="showTB" method="isChecked" /></param> + </call> + </action> + </rule> + + <rule> + <event widget="showSB" signal="activate"/> + <action> + <call widget="main_statusBar" method="show"> + <param><call widget="showSB" method="isChecked" /></param> + </call> + </action> + </rule> + + <rule> + <event widget="TB.Bank.PaymentOrder.List" signal="clicked"/> + <action><call method="qout"> + <param value="List of payment orders" /></call> + </action> + </rule> + + <rule> + <event widget="TB.Bank.PaymentOrder.Create" signal="clicked"/> + <action><call method="qout"> + <param value="Create payment order" /></call> + </action> + </rule> + + <rule> + <event widget="Settings" signal="activate"/> + <action><call method="Configuration"/></action> + </rule> + + <rule label="Select pe&rson"> + <event widget="person" signal="clicked"/> + <action><call method="openForm"> + <param><property widget="mainWindow" name="object"/></param> + <param value="selection.xfl"/> + <return> + <call widget="person" method="setValue"> + <param><returnedvalue /></param> + </call> + </return> + </call></action> + </rule> - <rule> - <event widget="TB.Bank.PaymentOrder.List" signal="clicked"/> - <action><call method="qout"> - <param value="List of payment orders" /></call> - </action> - </rule> - - <rule> - <event widget="TB.Bank.PaymentOrder.Create" signal="clicked"/> - <action><call method="qout"> - <param value="Create payment order" /></call> - </action> - </rule> - - <rule> - <event widget="Settings" signal="activate"/> - <action><call method="Configuration"/></action> - </rule> - </actions> </form> |
From: Andrey C. <sku...@us...> - 2006-10-18 08:50:10
|
Update of /cvsroot/eas-dev/clip-ui In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv6918 Modified Files: ChangeLog TODO form.prg special.prg table.prg window.prg Log Message: - Window now support spacing and padding in form - Pass both id and text for UIChoice - getValues() method ignore named buttons - UIChoice support setValue/getValue as array { text, id } Index: ChangeLog =================================================================== RCS file: /cvsroot/eas-dev/clip-ui/ChangeLog,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ChangeLog 5 Jun 2006 20:34:49 -0000 1.2 +++ ChangeLog 18 Oct 2006 08:49:59 -0000 1.3 @@ -1,3 +1,9 @@ +2006-10-16 + - Window now support spacing and padding in form + - Pass both id and text for UIChoice + - getValues() method ignore named buttons + - UIChoice support setValue/getValue as array { text, id } + 2006-06-06 - UIFrame now support :layout widget for setup background ("color.bg") Index: TODO =================================================================== RCS file: /cvsroot/eas-dev/clip-ui/TODO,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- TODO 2 Jun 2006 14:12:09 -0000 1.1 +++ TODO 18 Oct 2006 08:49:59 -0000 1.2 @@ -2,7 +2,13 @@ TODO ==== -Last change: 06 Apr 2006 +Last change: 16 Oct 2006 + +BUGS +---- + - select from list open from UIChoice with exist value + - all list widget supports setValue/getValue + CLIP-UI ------- Index: form.prg =================================================================== RCS file: /cvsroot/eas-dev/clip-ui/form.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- form.prg 2 Jun 2006 14:12:09 -0000 1.1 +++ form.prg 18 Oct 2006 08:49:59 -0000 1.2 @@ -305,6 +305,9 @@ case "EDITCOLOR" o := UIEditColor() add = .T. + case "CHOICE" + o := UIChoice() + add := .T. case "CHECKBOX" o := UICheckBox(,label) add = .T. Index: special.prg =================================================================== RCS file: /cvsroot/eas-dev/clip-ui/special.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- special.prg 2 Jun 2006 14:12:09 -0000 1.1 +++ special.prg 18 Oct 2006 08:49:59 -0000 1.2 @@ -1,9 +1,9 @@ /*-------------------------------------------------------------------------*/ -/* This is a part of CLIP-UI library */ -/* */ -/* Copyright (C) 2004 by E/AS Software Foundation */ -/* Author: Andrey Cherepanov <sk...@ea...> */ -/* */ +/* This is a part of CLIP-UI library */ +/* */ +/* Copyright (C) 2004-2006 by E/AS Software Foundation */ +/* Author: Andrey Cherepanov <sk...@ea...> */ +/* */ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as */ /* published by the Free Software Foundation; either version 2 of the */ @@ -14,25 +14,40 @@ /* Choice class (edit box with button for choosing values) */ function UIChoice( action, value, text ) - local o := UIHBox(,0) - local obj := UIButton( "...", action, value ) - obj:layout := o - obj:edit := UIEdit( text ) - obj:edit:setReadOnly(.T.) - obj:className := "UIChoice" + local obj := UIEdit( text ) + obj:readOnly(.T.) + obj:button := UIButton( "...", action, value ) + obj:stick := map() + obj:stick:right := obj:button _recover_UICHOICE(obj) return obj function _recover_UICHOICE( obj ) - obj:setText := @ui_setText() - obj:getText := @ui_getText() + obj:setAction := @ui_setAction() + obj:setValue := @ui_setValue() + obj:getValue := @ui_getValue() return obj -/* Set text */ -static function ui_setText(self, text) - self:edit:setValue( text ) +/* Set action to UIChoice */ +static function ui_setAction(self, signal, action) + // Set action to choice button clicked + if signal=='clicked' .and. valtype(action)=='B' + self:button:setAction(signal, action) + endif return NIL -/* Get text */ -static function ui_getText(self) -return self:edit:getValue() +/* Set value */ +static function ui_setValue(self, value) + local v + if valtype(value) == 'A' .and. len(value) == 2 + driver:setValue( self, val2str(value[1]) ) + self:button:setValue(value[2]) + endif +return NIL + +/* Get value */ +static function ui_getValue(self) + local v:=array(2) + v[1] := driver:getValue( self ) + v[2] := self:button:getValue() +return v Index: table.prg =================================================================== RCS file: /cvsroot/eas-dev/clip-ui/table.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- table.prg 2 Jun 2006 14:12:09 -0000 1.1 +++ table.prg 18 Oct 2006 08:49:59 -0000 1.2 @@ -36,6 +36,7 @@ obj:clear := @ui_clear() obj:getSelection := @ui_getSelection() obj:getSelectionId := @ui_getSelectionId() + obj:getSelectionField := @ui_getSelectionField() obj:setAltRowColor := @ui_setAltRowColor() obj:savePosition := @ui_savePosition() obj:restorePosition := @ui_restorePosition() @@ -43,22 +44,23 @@ /* Add row and fill it by data */ static function ui_addRow(self, data, id) - local i, node + local i, node - // Fix missing id - if id == NIL - self:lastId++ - id := alltrim(str(self:lastId)) + // Fix missing id + if id == NIL + self:lastId++ + id := alltrim(str(self:lastId)) endif - // Convert values to strings + // Convert values to strings for i=1 to len(data) data[i] := val2str(data[i]) - next + next node := driver:addTableRow(self, data) node:className := "UITableItem" node:table := @self node:node_id := id + node:data := data self:nodes[node:id] = node return NIL @@ -91,7 +93,7 @@ sel := driver:getTableSelection( self ) return sel -/* Get current selection ID */ +/* Get ID of selected string */ static function ui_getSelectionId(self) local sel, id:=NIL sel := driver:getTableSelection( self ) @@ -103,6 +105,24 @@ endif return id +/* Get field value on selected string */ +static function ui_getSelectionField(self, column) + local sel, val:=NIL, node + column = iif(empty(column),1,int(val(column))) + sel := driver:getTableSelection( self ) + //?? "Selection:", sel, sel $ self:nodes, chr(10) + if .not. empty(sel) .and. sel $ self:nodes + node := self:nodes[sel] + ?? valtype(node:data), len(node:data), column, chr(10) + if valtype(node:data) == "A" .and. len(node:data) >= column .and. column > 0 + val := node:data[column] + //?? "Value:", val, chr(10) + endif + else + return NIL + endif +return val + /* Set alternate row color */ static function ui_setAltRowColor(self, color) self:altRowColor := UIColor(color) Index: window.prg =================================================================== RCS file: /cvsroot/eas-dev/clip-ui/window.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- window.prg 2 Jun 2006 14:12:09 -0000 1.1 +++ window.prg 18 Oct 2006 08:49:59 -0000 1.2 @@ -137,9 +137,12 @@ obj:setValues := @ui_setValues() obj:getValues := @ui_getValues() obj:return := @ui_return() + obj:select := @ui_select() obj:isChanged := @ui_isChanged() obj:setId := @ui_setId() obj:setFocus := @ui_setFocus() + obj:setPadding := @ui_setPadding() + obj:setSpacing := @ui_setSpacing() return obj function UIDocument(caption, parent, name) @@ -399,7 +402,7 @@ if valtype(o) != "O" .or. .not. "CLASSNAME" $ o return NIL endif - if ascan({"UIEdit","UIEditText","UIComboBox","UICheckBox","UIButton","UILabel","UIRadioButton","UISlider"},o:className) != 0 + if ascan({"UIEdit","UIEditText","UIComboBox","UICheckBox","UIButton","UILabel","UIRadioButton","UISlider","UITable","UITree","UISheet"},o:className) != 0 // Extract type from name nArr := split(name,':') @@ -433,7 +436,7 @@ local i, w, v, values := array(0) for i in self:valueNames w := self:value[i] - if at(i,"\.") == 0 .and. "GETVALUE" $ w // Only object's field + if at(i,"\.") == 0 .and. "GETVALUE" $ w .and. w:className != 'UIButton' // Only object's field, without buttons v := w:getValue() aadd(values, { i, v } ) endif @@ -465,9 +468,26 @@ /* Return values to another form */ static function ui_return(self, val) local act -// ?? "RETURN value:",valtype(val), val,"|", "RETURNACTION" $ self, valtype(self:returnAction), chr(10) + //?? "RETURN value:",valtype(val), val,"|", "RETURNACTION" $ self, valtype(self:returnAction), chr(10) + if "RETURNACTION" $ self .and. valtype(self:returnAction) == "B" + act := self:returnAction + eval(act, val) + endif +return NIL + +/* Return id and text from table to another form */ +static function ui_select(self, table, column) + local act, obj:=NIL, val:=array(2) + //?? "RETURN value:","RETURNACTION" $ self, valtype(self:returnAction), chr(10) if "RETURNACTION" $ self .and. valtype(self:returnAction) == "B" act := self:returnAction + obj := mapget(self:value, table, NIL) + //?? valtype(obj), "GETSELECTIONID" $ obj , "GETSELECTIONFIELD" $ obj, chr(10) + if .not. empty(obj) .and. "GETSELECTIONID" $ obj .and. "GETSELECTIONFIELD" $ obj + val[1] := obj:getSelectionField(column) + val[2] := obj:getSelectionId() + endif + //?? "RETURNED:", val,chr(10) eval(act, val) endif return NIL @@ -594,3 +614,17 @@ timer:stop() next return NIL + +/* Set window padding */ +static function ui_setPadding(self, padding) + if "USERSPACE" $ self + self:userSpace:setPadding( padding ) + endif +return NIL + +/* Set window spacing */ +static function ui_setspacing(self, spacing) + if "USERSPACE" $ self + self:userSpace:setspacing( spacing ) + endif +return NIL |
From: Andrey C. <sku...@us...> - 2006-09-03 13:44:52
|
Update of /cvsroot/eas-dev/ocmng/components/ocmng/forms In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv4299/components/ocmng/forms Modified Files: form.prg form.xml Log Message: Minor update Index: form.prg =================================================================== RCS file: /cvsroot/eas-dev/ocmng/components/ocmng/forms/form.prg,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- form.prg 21 Jun 2006 07:53:05 -0000 1.3 +++ form.prg 3 Sep 2006 13:44:48 -0000 1.4 @@ -307,16 +307,22 @@ /* Lookup form in database */ static function get_StoredForm(params) - local fClass, fName, r, c:=NIL, id + local fClass, fName, r, c:=NIL, id, appendix:='' + local q, fType:='', types:={ 'list', 'object' } fClass := DEFAULT_FORM_CLASS fName := params:name - params:db := DEFAULT_FORM_DB - if "TYPE" $ params - fName := params:type+"/"+fName + if fName[6] == ':' + fName := substr( fName, 7 ) endif - r := lquery(params, 'select content from '+fClass+' where name=="'+fName+'"') + // list, object + if "TYPE" $ params .and. ascan( types, {|e| e==params:type } ) > 0 + fName := fName + '.' + params:type + endif + + q := 'select content from ' + fClass + ' where name=="' + fName + '"' + r := lquery(params, q) if valtype(r) == 'A' .and. len(r) > 0 c := r[1][1] eDebug(15, "FORM:",fName,len(c)) Index: form.xml =================================================================== RCS file: /cvsroot/eas-dev/ocmng/components/ocmng/forms/form.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- form.xml 6 Jun 2006 13:30:55 -0000 1.3 +++ form.xml 3 Sep 2006 13:44:48 -0000 1.4 @@ -29,7 +29,7 @@ <attribute name="content" type="text" lenType="alltrim" /> <index name="name" expression="name"/> - + <class name="mng_form" extent="component" essence="name" |
From: Andrey C. <sku...@us...> - 2006-06-21 07:53:08
|
Update of /cvsroot/eas-dev/ocmng/components/ocmng/forms In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv2495/components/ocmng/forms Modified Files: form.prg Log Message: Fix form.prg for checkbox autofields; add target "dist" for make snapshot Index: form.prg =================================================================== RCS file: /cvsroot/eas-dev/ocmng/components/ocmng/forms/form.prg,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- form.prg 5 Jun 2006 12:23:09 -0000 1.2 +++ form.prg 21 Jun 2006 07:53:05 -0000 1.3 @@ -382,7 +382,7 @@ t := a[2] switch t case 'L' - f += ' <widget class="combobox" name="'+name+'" pos="'+alltrim(str(i))+',1-2+" label="&'+name+'"/>&\n' + f += ' <widget class="checkbox" name="'+name+'" pos="'+alltrim(str(i))+',1-2+" label="&'+name+'"/>&\n' case 'D' f += ' <widget class="label" pos="'+alltrim(str(i))+',1" label="&'+name+':" accel="'+name+'"/>&\n' f += ' <widget class="editdate" name="'+name+':date" pos="'+alltrim(str(i))+',2+" />&\n' |
From: Andrey C. <sku...@us...> - 2006-06-21 07:53:08
|
Update of /cvsroot/eas-dev/ocmng In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv2495 Modified Files: Makefile Log Message: Fix form.prg for checkbox autofields; add target "dist" for make snapshot Index: Makefile =================================================================== RCS file: /cvsroot/eas-dev/ocmng/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile 5 Jun 2006 12:23:09 -0000 1.2 +++ Makefile 21 Jun 2006 07:53:05 -0000 1.3 @@ -9,6 +9,7 @@ PROGS = ocmng$(EXESUFF) xml2xmo$(EXESUFF) #PROGS = ocmng_compil$(EXESUFF) ocmng_dump$(EXESUFF) ocmng_install$(EXESUFF) ocmng$(EXESUFF) PODIRS = components/ocmng +PACKAGE= ocmng .SUFFIXES: .prg .o .po @@ -39,6 +40,9 @@ install: cp $(PROGS) $(DESTDIR)$(CLIPROOT)/bin +dist: clean + @cd .. && tar cvzf $(PACKAGE)-`date +%Y%m%d | tr -d '\n'`.tar.gz `find $(PACKAGE) ! -type d | grep -v CVS` + .prg.o: $(CLIP) $(CLIPFLAGS) $< |
From: Andrey C. <sku...@us...> - 2006-06-21 07:43:42
|
Update of /cvsroot/eas-dev/eas In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30709 Modified Files: ChangeLog README Log Message: Fix date of 0.2.1 release Index: ChangeLog =================================================================== RCS file: /cvsroot/eas-dev/eas/ChangeLog,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ChangeLog 20 Jun 2006 10:25:52 -0000 1.4 +++ ChangeLog 21 Jun 2006 07:43:39 -0000 1.5 @@ -1,4 +1,4 @@ -2006-06-20 eas-0.2.1 +2006-06-21 eas-0.2.1 - support several databases - completely rewrited component support - fancy logotype in login window Index: README =================================================================== RCS file: /cvsroot/eas-dev/eas/README,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- README 2 Jun 2006 14:32:45 -0000 1.3 +++ README 21 Jun 2006 07:43:39 -0000 1.4 @@ -8,7 +8,7 @@ Type: Software platform Name: E/AS Version: 0.2.1 -Date: ?? ??? 2006 +Date: 21 Jun 2006 Author: Andrey (Skull) Cherepanov <sk...@ea...> License: GNU General Public License (GPL) v.2 |
From: Andrey C. <sku...@us...> - 2006-06-20 10:26:01
|
Update of /cvsroot/eas-dev/eas/client In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv7101/client Modified Files: eas-logo.xpm main.prg Log Message: Release 0.2.1. Small cleanup, changed logotype and get version everywhere from version.ch Index: eas-logo.xpm =================================================================== RCS file: /cvsroot/eas-dev/eas/client/eas-logo.xpm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- eas-logo.xpm 6 Jun 2006 13:29:30 -0000 1.2 +++ eas-logo.xpm 20 Jun 2006 10:25:52 -0000 1.3 @@ -1,2226 +1,1573 @@ /* XPM */ static char * eas_logo_xpm[] = { -"130 56 2167 2", -" c #D1D77B", -". c #D2D77B", -"+ c #D2D77C", -"@ c #D2D87E", -"# c #D2D87F", -"$ c #D3D97F", -"% c #D4D981", -"& c #D4D982", [...3766 lines suppressed...] +"^@Z+7@/@! 8@>.p>q> + + + + + + + + + + + +C@r>s>t>u>v>w>x>q=q=q=y>z>r=A>s=s=s=A>B>'>8-C>D>E>F>G>H>I>J>K>L>M>N>O>P>I=Q>R>S>T>U>V>W>X>Y>Z>`> ,4$E**=C#D;.,+,@,#,$,%,&,&,*,=,-,;,>,,,',),!,~,{,],^,/,(,_,:,6&<,r;s-@*%*T$n ] { { { { d.[,f },{ { { { { { { { { { { { { ", +"=$O.m@n@L@,.! |,1, + + + + + + + + + + + +C@Y@2,M#{$3,[='>4,4,4,4,4,*%*%*%.-.-'>[=!&5,O*6,7,8,9,0,!&a,b,c,d,n;o-e,l&7$a#|-7*f,g,^-n>_%h,7&[-i,6$'=k@k@j,k,b%6*i&a%_%/-$>l,K%s-x-f&r;_%<,`>p;p;J%p;`>Y%$>V&o>m,n,o,T$D#b ~ { { { p,E#_@x (.W { { { { { { { { { { { { ", +"d$q,).=$a@;$^@r,s, + + + + + + + + + + + +B@Z@t,p$L-u,5,I;I;I;v,v,v,v,v,v,I;I;I;5,u,L-p$w,x,y,)*J;z,A,(>K&x*^-B,W&D;k@k@C#9&C,D,R$b$b$R$D,C,E,C#k@] ] k@D;9&&=e,6*b$b$[-4$8&c$c$8&F,b$s-!%o>g&g&o>%=j&R$e,G,E$H,F$*+d.~ { { 4+I.8@=.z I+h.I,{ { { { { { { { { { { { ", +">+J,Y c.e$:#=$K,L, + + + + + + + + + + + +B@`@Y@/&K;C&M,M#]$]$'*'*'*'*'*'*]$]$M#N,C&K;y,Y@O,^$P,Q,R,S,T,=,X;f,o,~-H.] d.D#|-{-d*U,V,W,X,%*L%C#n ] ~ ~ ] *+F$H,o, &y-S$E*E$%*C;e*W&}-y-5$G,n,c$c$Y,Z,b%E$W&`,T$7$H.] ~ { { },c.Z+;.*.y v >@{ { { { { { { { { { { { ", +"G .&U$ '.'J,F +'@':+ + + + + + + + + + + + +B@`@#'x=$'c-O#O#y,y,y,y,y,y,y,y,O#O#c-i#E&P#`@%'^$&'*'|*='a%:%c$E,C#L.~ { ] d.*+D;-';'>','F$'=D#k@] { { { ~ b H.j,&+~-F$F$F$~-&+7$7$7$C#J=T$<%1+k,k,1+&*|-C#7$a#k@b ] { { ] ''o+a@/@-.7.#.K.N.Q ^@~ { { { { { { { { { { ", +"d.l.}.)'5@[,>+r+!'~' + + + + + + + + + + + + +B@C@`@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@Z@{'`@C@B@]'^'/'(')%V&Y;&${-'=k@~ { { { k@q,_'0+:'w+R.o+L.b ] { { { { { ~ ] b L.k@k@k@k@k@L.d.b d.k@k@H.n *+a#a#*+n H.k@d.] ~ ~ { { { [.<.J,t@8@9.6.<' .:.T @ u@{ { { { { { { { { { ", +"{ =+J.;@['<.}'|'1'2'3' + + + + + + + + + + + + + + + + + + +B@B@B@B@B@B@B@ + + + + + +4'5'6'7'8'9'0'Z;E*a'f*d.~ { { { }.8.+ u+m.'+P.n+5.X { { { { { { { { { { { { { { { { { { { { { ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ { { { { { { { { l.c.M@E 8.5 +.` . j m.H+{ ~ { { { { { { { { ", +"{ ~ J+b'c'},4+b d'e'f' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +B@g'h'i'j'k'l'm'n'o'a'j,L.~ { { 4+M@` @ ) ; > f.e u+p'F { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { [.q'7@r'`+4 M. **> /.e <.{ { { { { { { { { ", +"{ { ] p,[.~ 4+J,r's't'u' + + + + + + + + + + + + + + + + + + + + + + + + + + + +g'v'w'x'y'z'A'B'C'D'E'*+] ~ { p,e$q+N Q : _ @ $ i ) ; |.L+},{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { }.f -.A x 5+< # {+n+i -@{ { { { { { { { { ", +"{ { { { { }.E 7 A F'G'H'I' + + + + + + + + + + + + + + + + + + + + + + + +S+J'K'L'M'N'_>O'P'Q'R'S'T'3+},~ ~ m q@v ` i.Z N.O ( . h + # % : m@{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { [.U'b@z <'} ( & j V'W'{ { { { { { { { { { ", +"{ { { { { / x q+y s+X'Y'Z'`' ) + + + + + + + + + + + + + + + + + + + +d-.)+)@)#)$)%)&)*)=)-);)>),)( ( ! ~ F 6.w v 1 K. .t ` [ Z < q Q p _ M.=+{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { e.9.$.+.s < 5.F '){ { { { { { { { { { { ", +"{ { { { { U$q+2 @.@.))W#!)~){)])S+ + + + + + + + + + + + + + + + +d-^)/)()_):)<)[)})|)1)2)3)j.4)` ` s L+['w#_@y s+3 @.2 v !.u h.t ` [ r < q ! ~ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { /@s+t+@..'{ { { { { { { { { { { { { { ", +"{ { { { { p,E u ..M.1 h.5)6)7)8)9)0)^)J'C@ +S+ + +S+B@B@D@a)b)c)d)e)f)g)h)i)j)k)l)m)n)5)o)1 R=2 +.1 ..u E a M@A K+z $.q+#.L+w +.1 ..5+t } s L+['{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { }.&.m@a { { { { { { { { { { { { { { { ", +"{ { { { { { ['L+s } } 3+p)q)2)r)s)t)u)v)w)x)y)z)A)B)C)D)E)F)G)H)I)J)J%_%K)L)M)N)O)P)Q)R)S)z $.y s+d @.2 q+U$J.w@8.7 &._@%.5.y q+d L+w +.1 ..u E p,{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +"{ { { { { { ~ ! q < r _.[ T)U)V)W)X)Y)Z)`) !.!+!@!#!$!%!&!*!Y%$>l,h&x-4$=!-!;!>!,!'!*.8.*.7 7.A %.z $.q+x / ~ p+0.s@9.X+8.k.&.6 %.5.y s+d @.2 q+U${ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +"{ { { { { { { =+M._ p Q ( q :.)!j@!!~!{!]!^!/!(!_!:!:!i&<!o>x-[-D$[!5$}!E,|!1!F#w@E (.F#/ -.9 =.8 7 `+7 E }.{ p,7@E a./ -.H =.8.7 7.A %.z $.q+x / { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +"{ { { { { { { { m@: % # + h : . ,)2!3!4!5!H@6!7!G,$*$*Z,5$y-E$W&{-a'|-7$a#a#l@K@K@M@7@! 8@>.(.;.0.s@p@>+4+{ { { m M@/@f p@q@F#/ -.9 =.8 7 `+7 E }.{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +"{ { { { { { { { },L+|.; ) i $ @ + ****h 8!9!0!<%a'k,k,a'<%T$F$&+f*a#k@d.] ~ b'F ).a@;$E#M@,.0 f a!Y b'{ { { { { d.b!m@K@M@7@! 8@>.(.;.0.s@p@>+4+{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +"{ { { { { { { { { F p'u+e f.> ; ) @ ` M@4+{ { { { { { { { { { { { { { { { { { ;@p+I,c.e$-@-$c!p+H.{ { { { { { { { b'F ).a@;$E#M@,.0 f a!Y b'{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { ", +"{ { { { { { { { { X 5.n+P.'+m.u++ 8.}.{ { { { { { { { { { { { { { { { { { { { [.}'.&U$>+J,.&c'] { { { { { { { { { { ;@p+I,c.e$-@-$c!p+H.{ { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { "}; Index: main.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/client/main.prg,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- main.prg 17 Jun 2006 17:00:35 -0000 1.8 +++ main.prg 20 Jun 2006 10:25:52 -0000 1.9 @@ -10,9 +10,9 @@ /* License, or (at your option) any later version. */ /*-------------------------------------------------------------------------*/ #include <clip-ui.ch> +#include "../version.ch" #define PRG_NAME "eas" -#define PRG_VERSION "0.2.1rc" #define DEBUG 15 // Default connection values @@ -62,7 +62,7 @@ checkWorkplace(dir) // Pass parameters to EASConfig - EASConfig( params, , "E/AS client software. Version "+PRG_VERSION+"." ) + EASConfig( params, , "E/AS client software. Version "+EASVERSION+"." ) // Init message manager messages := EASMessageManager() // Run without parameters: client @@ -338,7 +338,7 @@ /* Usage information */ static function printUsage() - ?? PRG_NAME+'. Ver. '+PRG_VERSION+'. Client program for E/AS.'+chr(10)+chr(10) + ?? PRG_NAME+'. Ver. '+EASVERSION+'. Client program for E/AS.'+chr(10)+chr(10) ?? "Usage: "+PRG_NAME+" [options]&\n" ?? "Options:&\n" ?? " -h, --help Print this information&\n" |
From: Andrey C. <sku...@us...> - 2006-06-20 10:26:00
|
Update of /cvsroot/eas-dev/eas/libeas In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv7101/libeas Modified Files: functions.prg Log Message: Release 0.2.1. Small cleanup, changed logotype and get version everywhere from version.ch Index: functions.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libeas/functions.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- functions.prg 2 Jun 2006 14:32:45 -0000 1.1 +++ functions.prg 20 Jun 2006 10:25:53 -0000 1.2 @@ -9,8 +9,8 @@ /* published by the Free Software Foundation; either version 2 of the */ /* License, or (at your option) any later version. */ /*-------------------------------------------------------------------------*/ +#include "../version.ch" -#define EASVERSION '0.2.1a' static l10nModule := NIL /* Send message to remote component */ |
From: Andrey C. <sku...@us...> - 2006-06-20 10:25:59
|
Update of /cvsroot/eas-dev/eas/libcodb_query In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv7101/libcodb_query Modified Files: command.prg Log Message: Release 0.2.1. Small cleanup, changed logotype and get version everywhere from version.ch Index: command.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libcodb_query/command.prg,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- command.prg 16 Jun 2006 15:22:20 -0000 1.3 +++ command.prg 20 Jun 2006 10:25:52 -0000 1.4 @@ -25,17 +25,17 @@ /* First key list */ static cmdList := { ; - { "help", @ec_help(), "Help about database commands" }, ; + { "help", @ec_help(), "Help about database commands" }, ; { "create", @ec_create(), "Create metaobject" }, ; { "delete", @ec_delete(), "Delete object or metaobject" }, ; { "describe", @ec_describe(), "Show metaclass structure" }, ; - { "get", @ec_get(), "Get object from repository" }, ; + { "get", @ec_get(), "Get object from repository" }, ; { "metaget", @ec_metaget(), "Get metaobject" }, ; { "metaput", @ec_metaput(), "Create or update metaobject" }, ; - { "put", @ec_put(), "Create or update object in repository" }, ; + { "put", @ec_put(), "Create or update object in repository" }, ; { "select", @ec_select(), "Query object attributes" }, ; - { "show", @ec_show(), "Show list of metaobjects" }, ; - { "use", @ec_use(), "Open database" } ; + { "show", @ec_show(), "Show list of metaobjects" }, ; + { "use", @ec_use(), "Open database" } ; } /* Metaclasses types */ @@ -59,17 +59,17 @@ /* Metaclasses name for 'DESCRIBE' */ static aMClassesDesc := { ; {'depository', 'DEPOSIT', 'Show depository metaclass structure'} , ; - {'extent', 'EXTENT', 'Show extended attribute metaclass structure'} , ; + {'extent', 'EXTENT', 'Show extended attribute metaclass structure'} , ; {'attribute', 'ATTR', 'Show attribute metaclass structure'} , ; - {'counter', 'COUNTER', 'Show counter metaclass structure'} , ; - {'index', 'INDEX', 'Show index metaclass structure'} , ; - {'class', 'CLASS', 'Show class metaclass structure'} , ; - {'tcolumn', 'TCOLUMN', 'Show column for view metaclass structure'} , ; - {'tview', 'TVIEW', 'Show view metaclass structure'} , ; - {'report', 'REPORT', 'Show report metaclass structure'} , ; - {'plugin', 'PLUGINS', 'Show database plugin metaclass structure'} , ; - {'user', 'USER', 'Show database user metaclass structure'} , ; - {'group', 'GROUP', 'Show database user group metaclass structure'} ; + {'counter', 'COUNTER', 'Show counter metaclass structure'} , ; + {'index', 'INDEX', 'Show index metaclass structure'} , ; + {'class', 'CLASS', 'Show class metaclass structure'} , ; + {'tcolumn', 'TCOLUMN', 'Show column for view metaclass structure'} , ; + {'tview', 'TVIEW', 'Show view metaclass structure'} , ; + {'report', 'REPORT', 'Show report metaclass structure'} , ; + {'plugin', 'PLUGINS', 'Show database plugin metaclass structure'} , ; + {'user', 'USER', 'Show database user metaclass structure'} , ; + {'group', 'GROUP', 'Show database user group metaclass structure'} ; } /* Attributes of metaclasses */ @@ -123,7 +123,7 @@ /* Connect to server */ function codb_connect( connect_string ) local oErr, o, dbh, dbl, i, pos, cDB, cDBPath, cDBDesc, curDB - local dict, depl, j, dep, dep_new, dep_content, name, fErr + local dict, depl, j, dep, dep_new, dep_content, name o := CODB_Client(connect_string) set deleted on @@ -148,9 +148,7 @@ cDB := left(i,pos-1) dict := dbh:connect(cDB) - fErr := __db_ready(dict:path) - - if fErr == 0 .and. .not. val(dict:error) > 0 .and. dict:open() + if .not. val(dict:error) > 0 .and. dict:open() cDBPath := iif(empty(dict),"",dict:path) cDBDesc := substr(i,pos+1) @@ -187,25 +185,6 @@ return o -/* Internal function for check database writable*/ -static function __db_ready(dbPath) - local oErr, f, fH, fErr:=0 -/* oErr := ErrorBlock({|e| break(e) }) - begin sequence - f := dbPath+PATH_DELIM+"counters.dbf" - fH := fopen(f, 2) - fErr := ferror() - if fErr == 0 - fclose(fH) - endif - //?? f,fErr,chr(10) - recover using oErr - // ?? "Error open database "+dbPath+chr(10) - return 1 - end sequence -*/ -return fErr - /* Internal function for setting up db by its name */ static function __set_db(self, db) local p, i @@ -1068,7 +1047,7 @@ /* 'CREATE' command */ static function ec_create( self, cmd, res, files ) - local oErr, dbh, d:=map(), dict, desc:='', i, fErr:=0 + local oErr, dbh, d:=map(), dict, desc:='', i if len(cmd) < 2 return "Unknown metaclass name for creation" @@ -1120,12 +1099,8 @@ // Open created database. dict := dbh:connect(d:id) - /*f := dict:path+PATH_DELIM+"counters.dbf" - fH := fopen(f, 0) - fErr := ferror() - fclose(fH) - */ - if fErr == 0 .and. .not. val(dict:error) > 0 .and. dict:open() + + if .not. val(dict:error) > 0 .and. dict:open() // Append to databases list aadd(self:dict_list, { d:id, dict, NIL, d:path, d:name } ) endif @@ -1183,8 +1158,6 @@ return "Attribute list is empty" endif -//?? "CMD -->", cmd, chr(10) - // Parse statement for i=2 to len(cmd) if lower(cmd[i]) == 'from' @@ -1207,10 +1180,11 @@ next //?? "ATTRS:", attrs, chr(10) - // TODO: all fields by '*' - //?? "CLASSES:", classes, chr(10) //?? "WHERE:", where, chr(10) + + // TODO: all fields by '*' + if len(classes) == 0 return "Class(es) is not defined" endif @@ -1231,9 +1205,6 @@ aadd(classIds, codb_metaIdByName(dict,i,"CLASS")) next endif -//?? "CLASSES:", classes, chr(10) -//?? "CLASSES_IDS:", classIds, chr(10) -//?? "DEP:", d, chr(10) // Second: fill result with 'where' condition check res:fields := attrs res:data := array(0) |
From: Andrey C. <sku...@us...> - 2006-06-20 10:25:59
|
Update of /cvsroot/eas-dev/eas In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv7101 Modified Files: ChangeLog Makefile VERSION configure Log Message: Release 0.2.1. Small cleanup, changed logotype and get version everywhere from version.ch Index: ChangeLog =================================================================== RCS file: /cvsroot/eas-dev/eas/ChangeLog,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ChangeLog 2 Jun 2006 14:32:45 -0000 1.3 +++ ChangeLog 20 Jun 2006 10:25:52 -0000 1.4 @@ -1,6 +1,7 @@ -2006-06-02 eas-0.2.1a +2006-06-20 eas-0.2.1 - support several databases - - complete rewrited component support + - completely rewrited component support + - fancy logotype in login window - small fixes in network layer 2005-11-14 eas-0.2.0 Index: Makefile =================================================================== RCS file: /cvsroot/eas-dev/eas/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile 2 Jun 2006 14:32:45 -0000 1.3 +++ Makefile 20 Jun 2006 10:25:52 -0000 1.4 @@ -28,7 +28,7 @@ for dir in $(SUBDIRS);do cd $$dir && $(MAKE) uninstall || exit 1; cd ..;done distclean: clean - rm -f *.log Makefile.var + rm -f *.log Makefile.var version.ch dist: distclean # date +%Y%m%d >VERSION Index: VERSION =================================================================== RCS file: /cvsroot/eas-dev/eas/VERSION,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- VERSION 17 Jun 2006 17:00:35 -0000 1.4 +++ VERSION 20 Jun 2006 10:25:52 -0000 1.5 @@ -1 +1 @@ -0.2.1rc +0.2.1 Index: configure =================================================================== RCS file: /cvsroot/eas-dev/eas/configure,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- configure 2 Jun 2006 14:32:45 -0000 1.3 +++ configure 20 Jun 2006 10:25:52 -0000 1.4 @@ -245,6 +245,9 @@ echo "Create Makefile.var..." >&6 echo "configure:$LINENO: Create Makefile.var..." >&5 +version=`cat VERSION | tr -d '\n'` +echo "#define EASVERSION \"$version\"" > version.ch + echo "# Makefile for E/AS custom variables" >Makefile.var echo "EASBINDIR=$bindir" >>Makefile.var echo "EASDATADIR=$datadir" >>Makefile.var |
From: Andrey C. <sku...@us...> - 2006-06-20 10:25:59
|
Update of /cvsroot/eas-dev/eas/server In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv7101/server Modified Files: main.prg Log Message: Release 0.2.1. Small cleanup, changed logotype and get version everywhere from version.ch Index: main.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/server/main.prg,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- main.prg 17 Jun 2006 17:00:36 -0000 1.2 +++ main.prg 20 Jun 2006 10:25:53 -0000 1.3 @@ -9,9 +9,9 @@ /* published by the Free Software Foundation; either version 2 of the */ /* License, or (at your option) any later version. */ /*-------------------------------------------------------------------------*/ +#include "../version.ch" #define PRG_NAME "easserver" -#define PRG_VERSION "0.2.1rc" #define DEBUG 20 #define TMP_DEFAULT '/tmp/easserver' @@ -46,7 +46,7 @@ eSetDebugLevel( DEBUG ) // Pass parameters to EASConfig - if (cfg:=EASConfig( params, .T., "E/AS server. Version "+PRG_VERSION+"." )) == NIL + if (cfg:=EASConfig( params, .T., "E/AS server. Version "+EASVERSION+"." )) == NIL CANCEL endif |
From: Andrey C. <sku...@us...> - 2006-06-17 17:00:46
|
Update of /cvsroot/eas-dev/eas/libeas In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv13583/libeas Modified Files: protocol_raw.prg session.prg Log Message: Yes! 0.2.1 Release Candidate - it's seem all things to work. Index: protocol_raw.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libeas/protocol_raw.prg,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- protocol_raw.prg 16 Jun 2006 15:22:20 -0000 1.3 +++ protocol_raw.prg 17 Jun 2006 17:00:36 -0000 1.4 @@ -114,9 +114,7 @@ if (session := tcpAccept( self:socket:handle, self:socket:aTimeOut )) != -1 // Create new session eDebug(10, "NETWORK: Start session: ", session) - oSession := EASSession( self, session ) - //session_open(oSession) - threadId := start(@session_open(), oSession) // Begin new thread + threadId := start(@session_open(), self, session) // Begin new thread eDebug(15, "NETWORK: Ready for new connection") endif sleep(0.01) @@ -146,11 +144,13 @@ return .T. /* Thread function for session open */ -static function session_open( session ) +static function session_open( s, session ) + local oSession // Set global variables set deleted on set translate path off -return session:open() + oSession := EASSession( s, session ) +return oSession:open() /** Close connection */ static function c_close( self, params ) Index: session.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libeas/session.prg,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- session.prg 16 Jun 2006 15:22:20 -0000 1.2 +++ session.prg 17 Jun 2006 17:00:36 -0000 1.3 @@ -27,9 +27,7 @@ _recover_EASSESSION(obj) setCommand(, 'sys.transport.'+obj:name, 'login', {|p| obj:login(p) } ) - setCommand(, 'sys.transport.default', 'login', {|p| obj:login(p) } ) setCommand(, 'sys.transport.'+obj:name, 'close', {|p| obj:close(p) } ) - setCommand(, 'sys.transport.default', 'close', {|p| obj:close(p) } ) return obj @@ -73,7 +71,7 @@ elseif valtype(self:access) != 'L' self:access := .F. // Access denied on any auth component internal error endif - eDebug(10, "SECURITY: access: ",self:access ) + eDebug(10, self:name+" SECURITY: access: ",self:access ) oWrite:answer := self:access eDebug(16, "Answer:", oWrite:answer) @@ -82,9 +80,7 @@ /** Close session */ static function c_close( self, params ) removeCommand(, 'sys.transport.'+self:name, 'login' ) - removeCommand(, 'sys.transport.default', 'login' ) removeCommand(, 'sys.transport.'+self:name, 'close' ) - removeCommand(, 'sys.transport.default', 'close' ) self:connection:closeSession( self ) eDebug(15, "Session closing.") return NIL @@ -116,6 +112,11 @@ eDebug(10, "ARGS:", obj:args) + // Translate session fo sys.transport + if lower(obj:receiver) == 'sys.transport.default' + obj:receiver := 'sys.transport.'+self:name + endif + // Check for session.close if lower(obj:receiver) == 'session' .and. lower(obj:command) == 'close' //?? "SESSION CLOSE: session.close signal message&\n" @@ -130,7 +131,7 @@ self:write( oWrite ) // If access denied then close connection - eDebug(2, "ACCESS:",self:access) + eDebug(2, self:name+" ACCESS:",self:access) if .not. self:access //?? "SESSION CLOSE: access denied.&\n" return 2 // Close session |
From: Andrey C. <sku...@us...> - 2006-06-17 17:00:43
|
Update of /cvsroot/eas-dev/eas In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv13583 Modified Files: VERSION Log Message: Yes! 0.2.1 Release Candidate - it's seem all things to work. Index: VERSION =================================================================== RCS file: /cvsroot/eas-dev/eas/VERSION,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- VERSION 2 Jun 2006 14:32:45 -0000 1.3 +++ VERSION 17 Jun 2006 17:00:35 -0000 1.4 @@ -1 +1 @@ -0.2.1a +0.2.1rc |
From: Andrey C. <sku...@us...> - 2006-06-17 17:00:43
|
Update of /cvsroot/eas-dev/eas/server In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv13583/server Modified Files: Makefile main.prg Log Message: Yes! 0.2.1 Release Candidate - it's seem all things to work. Index: Makefile =================================================================== RCS file: /cvsroot/eas-dev/eas/server/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile 16 Jun 2006 15:22:20 -0000 1.5 +++ Makefile 17 Jun 2006 17:00:36 -0000 1.6 @@ -38,8 +38,6 @@ $(AUTH): pam-auth.c $(CC) $(CFLAGS) -o $(AUTH) pam-auth.c $(AUTHLIBS) - chown root.root $(AUTH) - chmod ugo+s $(AUTH) clean: rm -f *.o core *.core $(PRG) $(DAEMON) $(AUTH) *.log *.nm *.ex *.exe *.so easserver.ini @@ -49,7 +47,9 @@ @../mkinstalldirs $(DESTDIR)$(EASDATADIR)/server/ ../mkinstalldirs $(DESTDIR)$(EASDBPATH) $(CLIPROOT)/bin/clip_cp $(PRG) $(DESTDIR)$(EASBINDIR) - $(CLIPROOT)/bin/clip_cp $(AUTH) $(DESTDIR)$(CLIPROOT)/bin + cp $(AUTH) $(DESTDIR)$(CLIPROOT)/bin + chown root.root $(DESTDIR)$(CLIPROOT)/bin/$(AUTH) + chmod ugo+s $(DESTDIR)$(CLIPROOT)/bin/$(AUTH) [ -z "$(DESTDIR)" ] && [ `uname -s` = "Linux" ] && make linuxinstall linuxinstall: all Index: main.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/server/main.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- main.prg 2 Jun 2006 14:49:00 -0000 1.1 +++ main.prg 17 Jun 2006 17:00:36 -0000 1.2 @@ -11,7 +11,7 @@ /*-------------------------------------------------------------------------*/ #define PRG_NAME "easserver" -#define PRG_VERSION "0.2.1" +#define PRG_VERSION "0.2.1rc" #define DEBUG 20 #define TMP_DEFAULT '/tmp/easserver' |
From: Andrey C. <sku...@us...> - 2006-06-17 17:00:42
|
Update of /cvsroot/eas-dev/eas/client In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv13583/client Modified Files: main.prg Log Message: Yes! 0.2.1 Release Candidate - it's seem all things to work. Index: main.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/client/main.prg,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- main.prg 16 Jun 2006 15:22:20 -0000 1.7 +++ main.prg 17 Jun 2006 17:00:35 -0000 1.8 @@ -12,7 +12,7 @@ #include <clip-ui.ch> #define PRG_NAME "eas" -#define PRG_VERSION "0.2.1" +#define PRG_VERSION "0.2.1rc" #define DEBUG 15 // Default connection values |
From: Andrey C. <sku...@us...> - 2006-06-16 15:22:31
|
Update of /cvsroot/eas-dev/eas/libcodb_query In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv2049/libcodb_query Modified Files: command.prg Log Message: Fix another connection. Concurrent connections are still broken. Index: command.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libcodb_query/command.prg,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- command.prg 6 Jun 2006 13:29:30 -0000 1.2 +++ command.prg 16 Jun 2006 15:22:20 -0000 1.3 @@ -14,7 +14,6 @@ /** Class for database manipulation in console mode */ /* TODO: - - BUG: cannot create EXTENT normally (need close depositories before creation) - WHERE in SELECT statement: translate logical operation and quotes - export/import - use file content as command list @@ -165,13 +164,15 @@ for j in depl dep_content := dict:getValue( j ) name = cDB + dep_content:number - //?? "Open depository:", name, chr(10) dep := coDepository():new(j) if val(dict:error) <= 0 .and. dep:open() if dep_new == NIL dep_new := dep endif aadd(o:dep_list, { name, dep, curDB } ) + // Open all extents for safe thread + dep:extentOpenAll() + //?? "Opened depository:", name, chr(10) endif next o:dict_list[curDB][3] := dep_new @@ -189,19 +190,20 @@ /* Internal function for check database writable*/ static function __db_ready(dbPath) local oErr, f, fH, fErr:=0 - oErr := ErrorBlock({|e| break(e) }) +/* oErr := ErrorBlock({|e| break(e) }) begin sequence f := dbPath+PATH_DELIM+"counters.dbf" fH := fopen(f, 2) fErr := ferror() if fErr == 0 - fclose(fH) + fclose(fH) endif //?? f,fErr,chr(10) recover using oErr // ?? "Error open database "+dbPath+chr(10) return 1 end sequence +*/ return fErr /* Internal function for setting up db by its name */ @@ -234,7 +236,7 @@ /* Close connection to server */ function codb_close( self ) local i - + //?? "CLOSE DATABASE.&\n" if valtype(self) != 'O' .or. ( "CLASSNAME" $ self .and. self:className != "CODB_Client") return .F. endif @@ -1066,7 +1068,7 @@ /* 'CREATE' command */ static function ec_create( self, cmd, res, files ) - local oErr, dbh, d:=map(), dict, desc:='', i + local oErr, dbh, d:=map(), dict, desc:='', i, fErr:=0 if len(cmd) < 2 return "Unknown metaclass name for creation" @@ -1118,11 +1120,11 @@ // Open created database. dict := dbh:connect(d:id) - f := dict:path+PATH_DELIM+"counters.dbf" + /*f := dict:path+PATH_DELIM+"counters.dbf" fH := fopen(f, 0) fErr := ferror() fclose(fH) - + */ if fErr == 0 .and. .not. val(dict:error) > 0 .and. dict:open() // Append to databases list aadd(self:dict_list, { d:id, dict, NIL, d:path, d:name } ) @@ -1231,7 +1233,7 @@ endif //?? "CLASSES:", classes, chr(10) //?? "CLASSES_IDS:", classIds, chr(10) -//?? "DEP:", d:hDbData, chr(10) +//?? "DEP:", d, chr(10) // Second: fill result with 'where' condition check res:fields := attrs res:data := array(0) |
From: Andrey C. <sku...@us...> - 2006-06-16 15:22:30
|
Update of /cvsroot/eas-dev/eas/libeas In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv2049/libeas Modified Files: execmanager.prg messagemanager.prg protocol_raw.prg session.prg uimanager.prg Log Message: Fix another connection. Concurrent connections are still broken. Index: execmanager.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libeas/execmanager.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- execmanager.prg 2 Jun 2006 14:32:45 -0000 1.1 +++ execmanager.prg 16 Jun 2006 15:22:20 -0000 1.2 @@ -23,6 +23,8 @@ obj:cManager := EASComponentManager( params ) _recover_EASEXECUTEMANAGER(obj) + + setCommand(, 'sys.manager', 'commands', {|p| obj:getCommands(p) } ) return obj @@ -37,9 +39,9 @@ /** Open manager */ static function c_open( self, params ) - eDebug(15, "Execute layer: open") + eDebug(15, "Execute layer: start component manager") self:cManager:open( params ) - eDebug(15, "Execute layer: opened") + eDebug(15, "Execute layer: component manager is ready") return NIL /** Close manager */ @@ -77,7 +79,7 @@ return NIL endif elseif .not. empty (id:=self:cManager:lookup( params )) - eDebug(15, "EXEC COMPONENT COMMAND: ",params:receiver,params:command,"...") + eDebug(15, "EXEC COMPONENT COMMAND:",params:receiver,params:command,"...") params:__id := id vRet := self:cManager:execute( params ) eDebug(20, "EXEC COMPONENT '"+params:command+"' returns:", vRet) @@ -149,11 +151,13 @@ // params: event:C, action:B or component:C, command:C, action:B local i + //?? "setCommand:", params, chr(10) + if 'COMMAND' $ params if assertParameters( params, { 'component:C', 'command:C', 'action:B' } ) return NIL endif - + // Single command i := ascan( self:events, {|e| e[1]==params:component .and. e[2]==params:command} ) if i > 0 @@ -176,20 +180,29 @@ endif return NIL -/** Disconnect code from signal */ +/** Disconnect code from signal or command */ static function c_disconnect( self, params ) // params: event:C - local i + local i + //local aa, j - // Check params - if assertParameters( params, { 'event:C' } ) - return NIL - endif - - i := ascan( self:events, {|e| e[1]==params:event } ) - if i > 0 - adel(self:events, i) - asize(self:events, len(self:events)-1 ) + if "EVENT" $ params .and. valtype(params:event) == 'C' + i := ascan( self:events, {|e| e[1]==params:event } ) + if i > 0 + adel(self:events, i) + asize(self:events, len(self:events)-1 ) + endif + elseif "COMPONENT" $ params .and. valtype(params:component) == 'C' + i := ascan( self:commands, {|e| e[1]==params:component .and. e[2]==params:command } ) +/* eDebug(11, "Remove command:", params:component+'.'+params:command,iif(i>0,'OK','FAILED') ) + aa := self:getCommands() + for j in self:commands + ?? chr(9),j[1],chr(9),j[2],chr(10) + next +*/ if i > 0 + adel(self:commands, i) + asize(self:commands, len(self:commands)-1 ) + endif endif return NIL Index: messagemanager.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libeas/messagemanager.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- messagemanager.prg 2 Jun 2006 14:32:45 -0000 1.1 +++ messagemanager.prg 16 Jun 2006 15:22:20 -0000 1.2 @@ -18,6 +18,7 @@ /** TODO: - isolated MM interaction by gate mechanism + - unsetCommand() for terminated connections */ function EASMessageManager( params ) @@ -46,8 +47,6 @@ obj:transport := EASTransportManager(tparams) endif - setCommand(, 'sys.manager', 'commands', {|p| obj:exec:getCommands(p) } ) - return obj function _recover_EASMESSAGEMANAGER(obj) @@ -168,6 +167,19 @@ endif return NIL +/** Delete command for specified component */ +function removeCommand( msg_m, component, command ) + local params:=map() + msg_m := iif(valtype(msg_m) != 'O', global_msg, msg_m) + + eDebug(11, "removeCommand():", component, command) + if valtype(msg_m) == 'O' .and. valtype(msg_m:exec) == 'O' + params:component := component + params:command := command + return msg_m:exec:disconnect( params ) + endif +return NIL + /** Send message */ function sendMessage( msg_m, receiver, command, args, sender ) local params:=map(), ret Index: protocol_raw.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libeas/protocol_raw.prg,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- protocol_raw.prg 6 Jun 2006 13:29:30 -0000 1.2 +++ protocol_raw.prg 16 Jun 2006 15:22:20 -0000 1.3 @@ -108,7 +108,7 @@ endif eDebug(10, "NETWORK: Accept connections...") /*===================================================================*/ - /* Main server loop */ + /* Main server loop */ /*===================================================================*/ do while( .T. ) if (session := tcpAccept( self:socket:handle, self:socket:aTimeOut )) != -1 @@ -146,7 +146,7 @@ return .T. /* Thread function for session open */ -static function session_open(session) +static function session_open( session ) // Set global variables set deleted on set translate path off Index: session.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libeas/session.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- session.prg 2 Jun 2006 14:32:45 -0000 1.1 +++ session.prg 16 Jun 2006 15:22:20 -0000 1.2 @@ -63,14 +63,17 @@ static function c_login( self, params ) local oWrite := map() - eDebug( 5, "LOGIN:", params) + eDebug( 5, "SECURITY: LOGIN:", params) self:access := .F. // Authenticate user - if empty( lcomponent('auth', 'authenticate', 'params', params ) ) - self:access := .T. + self:access := lcomponent('auth', 'authenticate', 'params', params ) + if valtype(self:access) == 'U' + self:access := .T. // Access granted if auth component is absent + elseif valtype(self:access) != 'L' + self:access := .F. // Access denied on any auth component internal error endif - eDebug(10, "Access: ",self:access ) + eDebug(10, "SECURITY: access: ",self:access ) oWrite:answer := self:access eDebug(16, "Answer:", oWrite:answer) @@ -78,6 +81,10 @@ /** Close session */ static function c_close( self, params ) + removeCommand(, 'sys.transport.'+self:name, 'login' ) + removeCommand(, 'sys.transport.default', 'login' ) + removeCommand(, 'sys.transport.'+self:name, 'close' ) + removeCommand(, 'sys.transport.default', 'close' ) self:connection:closeSession( self ) eDebug(15, "Session closing.") return NIL @@ -111,6 +118,7 @@ // Check for session.close if lower(obj:receiver) == 'session' .and. lower(obj:command) == 'close' + //?? "SESSION CLOSE: session.close signal message&\n" return 2 // Close session endif @@ -122,8 +130,9 @@ self:write( oWrite ) // If access denied then close connection - //eDebug(2, "ACCESS:",self:access) + eDebug(2, "ACCESS:",self:access) if .not. self:access + //?? "SESSION CLOSE: access denied.&\n" return 2 // Close session endif Index: uimanager.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/libeas/uimanager.prg,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- uimanager.prg 2 Jun 2006 14:32:45 -0000 1.1 +++ uimanager.prg 16 Jun 2006 15:22:20 -0000 1.2 @@ -33,7 +33,6 @@ // Init workspace c_init(obj, params) - return obj function _recover_EASUIMANAGER(obj) @@ -65,7 +64,7 @@ return NIL /** Open manager */ -static function c_open( self, params ) // TODO +static function c_open( self, params ) setCommand(, 'sys.ui', 'openForm', {|p| self:openForm(p) } ) setCommand(, 'sys.ui', 'saveForm', {|p| self:saveForm(p) } ) setCommand(, 'sys.ui', 'saveFormAndClose', {|p| self:saveFormAndClose(p) } ) |
From: Andrey C. <sku...@us...> - 2006-06-16 15:22:29
|
Update of /cvsroot/eas-dev/eas/client In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv2049/client Modified Files: main.prg Log Message: Fix another connection. Concurrent connections are still broken. Index: main.prg =================================================================== RCS file: /cvsroot/eas-dev/eas/client/main.prg,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- main.prg 6 Jun 2006 13:29:30 -0000 1.6 +++ main.prg 16 Jun 2006 15:22:20 -0000 1.7 @@ -19,6 +19,9 @@ #define C_HOST "localhost" #define C_PORT "3000" +// Main form name +#define EAS_MAIN_FORM "main" + static messages static loginParams := map() static loginInProgress := 0 @@ -112,7 +115,7 @@ /* Login to server */ function login() - local cfg, packet, vRet, form:=map(), i, params:=array(0), res + local cfg, packet, vRet, i, params:=array(0), res if loginInProgress == 2 return NIL @@ -167,9 +170,11 @@ endif /* quit on failed to open main window */ - form:name := 'main' - eDebug( 20, "Open main form") - if .not. messages:ui:openForm( form ) + eDebug( 12, "Open main form") + if .not. lcomponent('sys.ui', 'openForm', 'name', EAS_MAIN_FORM ) +// form := map() +// form:name := EAS_MAIN_FORM +// if .not. messages:ui:openForm( form ) // Close session packet := messageNew( 'session', 'close', NIL ) |
From: Andrey C. <sku...@us...> - 2006-06-16 15:22:29
|
Update of /cvsroot/eas-dev/eas/server In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv2049/server Modified Files: Makefile Log Message: Fix another connection. Concurrent connections are still broken. Index: Makefile =================================================================== RCS file: /cvsroot/eas-dev/eas/server/Makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile 6 Jun 2006 13:29:31 -0000 1.4 +++ Makefile 16 Jun 2006 15:22:20 -0000 1.5 @@ -31,7 +31,7 @@ chmod +x $(DAEMON) easserver.ini: easserver.ini.in - cat easserver.ini.in | sed -e 's|BINROOT|$(EASBINDIR)|g;s|SERVERROOT|$(EASLOGDIR)|g;s|CLIPROOT|$(CLIPROOT)|g' >easserver.ini + cat easserver.ini.in | sed -e 's|BINROOT|$(EASBINDIR)|g;s|SERVERROOT|$(EASLOGDIR)|g' >easserver.ini $(PRG): $(OBJS) $(CLIP) $(CLIPFLAGS) -eslM $(CLIPINCLUDE) -o $(PRG) $(OBJS) $(CLIPLIBS) $(EASLIBS) @@ -39,7 +39,7 @@ $(AUTH): pam-auth.c $(CC) $(CFLAGS) -o $(AUTH) pam-auth.c $(AUTHLIBS) chown root.root $(AUTH) - chmod ug+s $(AUTH) + chmod ugo+s $(AUTH) clean: rm -f *.o core *.core $(PRG) $(DAEMON) $(AUTH) *.log *.nm *.ex *.exe *.so easserver.ini |