9e1b00d011c7e598c1166af8da170231749bbb38
20 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
50650e8d5b |
2012-03-03 15:33 UTC+0100 Viktor Szakats (harbour syenar.net)
* contrib/hbmysql/tests/hbmk.hbm
* contrib/hbct/tests/hbmk.hbm
* contrib/hbgs/tests/hbmk.hbm
* contrib/hbmxml/tests/hbmk.hbm
* contrib/hbmzip/tests/hbmk.hbm
* contrib/hbunix/tests/hbmk.hbm
* contrib/sddpg/tests/hbmk.hbm
* contrib/hbziparc/tests/hbmk.hbm
* contrib/hbxbp/tests/hbmk.hbm
* contrib/hblzf/tests/hbmk.hbm
* contrib/hbxdiff/tests/hbmk.hbm
* contrib/hbcurl/tests/hbmk.hbm
* contrib/hbnetio/tests/hbmk.hbm
* contrib/rddsql/tests/hbmk.hbm
* contrib/hbmlzo/tests/hbmk.hbm
* contrib/hbhttpd/tests/hbmk.hbm
* contrib/gtwvg/tests/hbmk.hbm
* contrib/hbpgsql/tests/hbmk.hbm
* contrib/sddsqlt3/tests/hbmk.hbm
* contrib/hbwin/tests/olesrv1.hbp
* contrib/hbwin/tests/olesrv2.hbp
* contrib/hbwin/tests/olesrv3.hbp
* contrib/hbwin/tests/olesrv4.hbp
* contrib/hbwin/tests/hbmk.hbm
* contrib/hbsms/tests/hbmk.hbm
* contrib/hbzebra/tests/hbmk.hbm
* contrib/gtalleg/tests/hbmk.hbm
* contrib/sddmy/tests/hbmk.hbm
* contrib/xhb/tests/hbmk.hbm
* contrib/hbodbc/tests/hbmk.hbm
* contrib/sddfb/tests/hbmk.hbm
* contrib/hbtpathy/tests/hbmk.hbm
* contrib/hbsqlit3/tests/hbmk.hbm
* contrib/hbmagic/tests/hbmk.hbm
* contrib/hbexpat/tests/hbmk.hbm
* contrib/hbblat/tests/hbmk.hbm
* contrib/hbqt/tests/hbmk.hbm
* contrib/hbfbird/tests/hbmk.hbm
* contrib/hbbz2/tests/hbmk.hbm
* contrib/hbnf/tests/hbmk.hbm
* contrib/hbmemio/tests/hbmk.hbm
* contrib/hbxpp/tests/hbmk.hbm
* contrib/hbcups/tests/hbmk.hbm
* contrib/hbhpdf/tests/hbmk.hbm
* contrib/rddads/tests/hbmk.hbm
* contrib/hbfimage/tests/hbmk.hbm
* contrib/sddodbc/tests/hbmk.hbm
* contrib/hbgd/tests/hbmk.hbm
* contrib/hbmisc/tests/hbmk.hbm
* contrib/sddoci/tests/hbmk.hbm
* contrib/hbcomm/tests/hbmk.hbm
* contrib/hbtip/tests/hbmk.hbm
* contrib/hbcairo/tests/hbmk.hbm
* contrib/hbssl/tests/hbmk.hbm
% deleted relative paths from .hbc references
|
||
|
|
1b4008723b |
2012-01-06 16:13 UTC+0100 Viktor Szakats (harbour syenar.net)
* ChangeLog
* (whole tree)
* changed e-mail address
|
||
|
|
7ad3481808 |
2011-12-24 03:32 UTC+0100 Viktor Szakats (harbour syenar.hu)
* ChangeLog
* (whole tree)
* removed obsolete antispam measure from my e-mail address
|
||
|
|
c7a2b185d6 |
2011-01-31 15:48 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rtl/dirdrive.c
+ Added HB_DIRCREATE(), which is same as MAKEDIR() C5.3 function,
but it's always available, not just when HB_COMPAT_C53 is enabled.
+ Added HB_DIRDELETE(), which is same as DIRREMOVE() C5.3 function,
but it's always available, not just when HB_COMPAT_C53 is enabled.
* contrib/hbnetio/tests/netiotst.prg
* contrib/hbnetio/tests/netiot03.prg
* contrib/hbfimage/tests/fitest.prg
* contrib/hbide/idesaveload.prg
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
* tests/wcecon.prg
* tests/flink.prg
* bin/hb3rdpat.hbs
* examples/hbdoc2/gentpl.prg
* Replaced MakeDir() with universally available hb_DirCreate().
; TODO: same in config/postinst.hbs (delayed to avoid a million
false bug reports)
* src/rtl/Makefile
+ src/rtl/hbfilehi.prg
+ Added generic file/dir/path handling functions.
They are taken from hbmk2 code, added parameter checking,
did two minor change to DirBuild() to be generic,
renamed to have HB_ prefix.
Please note the parameter list and any details are
subject to change yet, IOW these APIs are not yet finalized:
hb_cwd() -> <cPath>
hb_PathNormalize( <cPath> ) -> <cPath>
hb_PathMakeAbsolute( <cPathRel>, <cPathAbs> ) -> <cPath>
hb_PathMakeRelative( <cPathBase>, <cPathTarget>, <lForceRelative> ) -> <cPath>
hb_DirAddPathSep( <cDir> ) -> <cDir>
hb_DirDelPathSep( <cDir> ) -> <cDir>
hb_DirBuild( <cDir> ) -> <lSuccess>
hb_DirUnbuild( <cDir> ) -> <lSuccess>
hb_FNameDirGet( <cFileName> ) -> <cDir>
hb_FNameNameGet( <cFileName> ) -> <cName>
hb_FNameNameExtGet( <cFileName> ) -> <cNameExt>
hb_FNameExtGet( <cFileName> ) -> <cExt>
hb_FNameExtDef( <cFileName>, <cDefExt> ) -> <cFileName>
hb_FNameExtSet( <cFileName>, <cExt> ) -> <cFileName>
hb_FNameDirExtSet( <cFileName>, <cDirNew>, <cExtNew> ) -> <cFileName>
; TODO: Review, clean interface.
; TODO: Use these functions in .hbs files, utils, hbide.
* include/harbour.hbx
* Updated.
* utils/hbmk2/hbmk2.prg
* One internal function renamed.
|
||
|
|
19bc39e837 |
2011-01-25 23:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv/netiosrv.prg
* contrib/hbnetio/tests/netiomt1.prg
+ Added 'netio_conninfo' remote mgmnt command.
It will return all client connections in an array of hashes.
|
||
|
|
7cd5839b6e |
2011-01-25 23:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/utils/netiosrv/netiosrv.prg
* contrib/hbnetio/utils/netiosrv/netiocmd.prg
+ contrib/hbnetio/tests/netiomt1.prg
+ Added secondary server interface for remote management. Little hacky
and incomplete yet.
New options added: -adminport, -adminiface, -adminpass
+ Added remote management function: "netio_shutdown" (similar to 'quit' command)
+ Added 'shconn' and 'noshconn' commands to enable/disable
console feedback when client connects/disconnects.
(this is permanently enabled for management connections)
|
||
|
|
e98db3a241 |
2010-07-09 22:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
+ --hbrefs option renamed to --hbinfo and now also includes
target type.
+ Extended target detection with 'hbppo' and 'hbhrb' types.
These are automatically detected from Harbour option usage.
+ Added ${hb_outputname} macro. Returns the output name as
specified with -o option, without extension. Returns empty
if there wasn't -o option at the point of usage.
+ Added ${hb_outputdir} macro. Returns the output dir as
specified with -o option. Returns empty if there wasn't
-o option at the point of usage.
+ -p -s options don't require to manually select -hbraw
mode, it will be autodetected.
! Fixed to not interpret -i- Harbour option as include dir.
+ Don't add the same Harbour option twice.
* contrib/Makefile
* contrib/make.hbs
+ contrib/hbpost.hbm
+ contrib/hbpre.hbm
% Cleaned the way build options are passed to hbmk2.
+ Synced much more options and build behavior of hbmk2
based contrib build with GNU Make build (debug, unicode,
warnings, Harbour settings, C settings)
+ Added more projects to hbmk2 build method.
% Deleted MS-DOS specific hack (for now) because the new
cmdlines are very short.
; TODO: Now make.hbs is not self-contained, which would
better be solved somehow.
* contrib/make.hbs
+ It will now detect and show target type in stdalone mode.
+ Synced default build options with GNU Make.
* contrib/hbqt/hbqts.hbp
* contrib/hbqt/hbqtguis.hbp
* contrib/hbqt/hbqtcores.hbp
* contrib/hbqt/hbqtnetworks.hbp
+ Added -hblib option to make it easy to detect target type
for 3rd party tools.
* contrib/hbnetio/utils/netiosrv.prg
+ Will now also accept .hbs and .prg files as RPC filters.
- contrib/hbnetio/utils/modules
* contrib/hbnetio/utils/modules.hbp
+ contrib/hbnetio/utils/rpcdemo.hbs
* Renamed RPC demo to .hbs.
* Deleted modules subdir.
- contrib/hbnetio/utils/hbmk.hbm
* contrib/hbnetio/utils/hbnetio.hbp
- Deleted separate hbmk.hbm.
* contrib/hbnetio/utils/netiocmd.prg
! Minor in help screen.
* contrib/hbnetio/tests/netiotst.prg
+ Added some feedback.
|
||
|
|
81c9b0506c |
2010-06-04 15:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/*
* Deleted 'www.' from harbour-project.org website name.
(www.harbour-project.org -> harbour-project.org)
|
||
|
|
bfd863c576 |
2010-04-30 11:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
! fixed stupid typo which caused that hb_znetFlush() in encrypted
buffers never returned 0 (the returned value was increased by 4)
* harbour/contrib/hbnetio/netio.h
* harbour/contrib/hbnetio/netiocli.c
* harbour/contrib/hbnetio/netiosrv.c
* harbour/contrib/hbnetio/readme.txt
+ added support for communication streams/channels which allow to
send asynchronously data from server to client.
The following client side functions had been added:
NETIO_OPENDATASTREAM( <cStreamFuncName> [, <params,...>] )
-> <nStreamID>
NETIO_OPENITEMSTREAM( <cStreamFuncName> [, <params,...>] )
-> <nStreamID>
NETIO_CLOSESTREAM( <nStreamID>, [<cServer>], [<nPort>] )
-> <lOK>
NETIO_GETDATA( <nStreamID>, [<cServer>], [<nPort>] )
-> <aData> | <cData> | NIL
The following server side functions had been added:
NETIO_SRVSTATUS( <pConnectionSocket> [, <nStreamID>] )
-> <nStatus>
NETIO_SRVSENDITEM( <pConnectionSocket>, <nStreamID>, <xData> )
-> <lSent>
NETIO_SRVSENDDATA( <pConnectionSocket>, <nStreamID>, <cData> )
-> <lSent>
+ added RT errors to the netio client code. They should help to early
detect any communication problems
! disabled hb_socketSetNoDelay() in client and server code.
I enabled it for some local tests and by mistake committed to SVN
and I didn't noticed it. It could cause serious problems in some cases
i.e. with slow WiFi or WAN connections.
Warning: server signature changed due to extensions in protocol.
both client and server side has to be updated and use
current SVN code.
+ harbour/contrib/hbnetio/tests/netiot03.prg
+ added demonstration/test code for alternative RDD IO API, RPC and
asynchronous data streams in HBNETIO
|
||
|
|
c07ce7ddf9 |
2010-01-16 02:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbnetio/tests/netiotst.prg
! Fixed to REQUEST dir related functions to avoid RTE.
- contrib/hbnetio/tests/data
- Deleted. Now it's created by RPC call.
* contrib/hbwin/tests/testprn.prg
* Formatting.
* contrib/hbwin/win_prn1.c
! Using constants for dmOrientation.
|
||
|
|
51934abb5c |
2010-01-12 16:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/common/hbstr.c
* Formatting.
* contrib/hbwin/win_prn3.c
+ Added static versions of strlen and strncat working on TCHARs,
to replace lstrlen(), lstrcat() unsafe calls.
* contrib/hbnetio/utils/netiosrv.prg
+ Option renamed: -addr= -> -iface=
+ Added warning for unknown options.
* contrib/hbnetio/tests/netiot02.prg
+ Date setup.
* contrib/hbcurl/hbcurl.c
* contrib/hbssl/ssl.c
* contrib/hbssl/pem.c
! Wrapped hb_vmEvalBlockV() calls between hb_vmRequestReender()
and hb_vmRequestRestore() call pairs.
|
||
|
|
eaa5203f84 |
2010-01-11 16:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/contrib/hbnetio/tests/netiot02.prg
+ added yet another example of NETIO client.
It needs netiosrv executed on the same machine,
see comments inside this code for details.
|
||
|
|
839697c9bc |
2010-01-11 14:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/tests/netiotst.prg
* added netio_disconnect() to test code
* harbour/ChangeLog
* harbour/examples/gtwvw/gtwvw.c
! replaced TABs with spaces
* harbour/contrib/hbnetio/tests/hbmk.hbm
* harbour/examples/hbdoc/examples/hbmisc/readme.txt
* harbour/examples/gtwvw/hbgtwvw.h
* harbour/examples/gtwvw/hbole.h
! fixed hardcoded \r\n EOLs
* harbour/src/vm/strapi.c
* harbour/src/common/strwild.c
* harbour/src/nortl/nortl.c
* harbour/src/nortl/Makefile
* harbour/src/rtl/hbascii.c
* harbour/src/rtl/hbsocket.c
* harbour/src/rtl/hbbffnc.c
* harbour/src/rtl/hbznet.c
* harbour/src/rtl/hbbfish.c
* harbour/src/rtl/hbbyte.c
* harbour/src/codepage/uc646_yu.c
* harbour/src/codepage/cphriso.c
* harbour/src/rdd/dbrename.c
* harbour/tests/cpinfo.prg
* harbour/include/hbmsgreg.h
* harbour/include/hbgtreg.h
* harbour/include/hbznet.h
* harbour/include/hbmather.h
* harbour/include/hbsocket.ch
* harbour/include/hbtrace.ch
* harbour/include/hbapistr.h
* harbour/include/hbiniseg.h
* harbour/include/hbsocket.h
* harbour/include/hbbfish.h
* harbour/include/hbcdpreg.h
* harbour/include/hbfloat.h
* harbour/contrib/hbqt/qtgui/QPageSetupDialog.cpp
* harbour/contrib/hbqt/qtgui/QDragEnterEvent.cpp
* harbour/contrib/hbqt/qtgui/TQToolBox.prg
* harbour/contrib/hbqt/qtgui/QGridLayout.cpp
* harbour/contrib/hbqt/qtgui/TQTreeView.prg
* harbour/contrib/hbqt/qtgui/TQTextCharFormat.prg
* harbour/contrib/hbqt/qtgui/QItemSelectionModel.cpp
* harbour/contrib/hbqt/qtgui/TQTextLine.prg
* harbour/contrib/hbqt/qtgui/QConicalGradient.cpp
* harbour/contrib/hbqt/qtgui/QTextLength.cpp
* harbour/contrib/hbqt/qtgui/TQInputEvent.prg
* harbour/contrib/hbqt/qtgui/TQWidgetItem.prg
* harbour/contrib/hbqt/qtgui/TQTextItem.prg
* harbour/contrib/hbqt/qtgui/QGradient.cpp
* harbour/contrib/hbqt/qtgui/TQTimeEdit.prg
* harbour/contrib/hbqt/qtgui/TQDropEvent.prg
* harbour/contrib/hbqt/qtgui/QStandardItemModel.cpp
* harbour/contrib/hbqt/qtgui/QItemSelection.cpp
* harbour/contrib/hbqt/qtgui/TQTextObject.prg
* harbour/contrib/hbqt/qtgui/TQPainterPath.prg
* harbour/contrib/hbqt/qtgui/QTransform.cpp
* harbour/contrib/hbqt/qtgui/QPicture.cpp
* harbour/contrib/hbqt/qtgui/QAction.cpp
* harbour/contrib/hbqt/qtgui/QPaintEvent.cpp
* harbour/contrib/hbqt/qtgui/TQStyleHintReturn.prg
* harbour/contrib/hbqt/qtgui/QStyledItemDelegate.cpp
* harbour/contrib/hbqt/qtgui/QWidget.cpp
* harbour/contrib/hbqt/qtgui/TQProgressBar.prg
* harbour/contrib/hbqt/qtgui/TQFontDatabase.prg
* harbour/contrib/hbqt/qtgui/QFontDialog.cpp
* harbour/contrib/hbqt/qtgui/QToolBox.cpp
* harbour/contrib/hbqt/qtgui/TQLineEdit.prg
* harbour/contrib/hbqt/qtgui/TQHBoxLayout.prg
* harbour/contrib/hbqt/qtgui/QTextListFormat.cpp
* harbour/contrib/hbqt/qtgui/QMouseEvent.cpp
* harbour/contrib/hbqt/qtgui/QTextEdit.cpp
* harbour/contrib/hbqt/qtgui/TQToolBar.prg
* harbour/contrib/hbqt/qtgui/TQTreeWidget.prg
* harbour/contrib/hbqt/qtgui/QFontComboBox.cpp
* harbour/contrib/hbqt/qtgui/TQSplitter.prg
* harbour/contrib/hbqt/qtgui/QStyle.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionHeader.cpp
* harbour/contrib/hbqt/qtgui/TQComboBox.prg
* harbour/contrib/hbqt/qtgui/QAbstractTextDocumentLayout.cpp
* harbour/contrib/hbqt/qtgui/QListView.cpp
* harbour/contrib/hbqt/qtgui/QWheelEvent.cpp
* harbour/contrib/hbqt/qtgui/TQAbstractItemDelegate.prg
* harbour/contrib/hbqt/qtgui/TQSessionManager.prg
* harbour/contrib/hbqt/qtgui/QRadialGradient.cpp
* harbour/contrib/hbqt/qtgui/QLayout.cpp
* harbour/contrib/hbqt/qtgui/QCursor.cpp
* harbour/contrib/hbqt/qtgui/TQProgressDialog.prg
* harbour/contrib/hbqt/qtgui/QPainterPath.cpp
* harbour/contrib/hbqt/qtgui/QLabel.cpp
* harbour/contrib/hbqt/qtgui/TQBoxLayout.prg
* harbour/contrib/hbqt/qtgui/TQPolygon.prg
* harbour/contrib/hbqt/qtgui/QFocusEvent.cpp
* harbour/contrib/hbqt/qtgui/QBrush.cpp
* harbour/contrib/hbqt/qtgui/QStyleHintReturn.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionToolButton.cpp
* harbour/contrib/hbqt/qtgui/QStylePainter.cpp
* harbour/contrib/hbqt/qtgui/TQRadioButton.prg
* harbour/contrib/hbqt/qtgui/TQSystemTrayIcon.prg
* harbour/contrib/hbqt/qtgui/QLinearGradient.cpp
* harbour/contrib/hbqt/qtgui/TQListWidgetItem.prg
* harbour/contrib/hbqt/qtgui/QProgressBar.cpp
* harbour/contrib/hbqt/qtgui/TQTextBlock.prg
* harbour/contrib/hbqt/qtgui/TQTextFrame.prg
* harbour/contrib/hbqt/qtgui/QDragLeaveEvent.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionViewItem.prg
* harbour/contrib/hbqt/qtgui/TQInputContext.prg
* harbour/contrib/hbqt/qtgui/QClipboard.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionToolBox.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionTabBarBase.cpp
* harbour/contrib/hbqt/qtgui/QToolBar.cpp
* harbour/contrib/hbqt/qtgui/TQStatusBar.prg
* harbour/contrib/hbqt/qtgui/TQTextBlockFormat.prg
* harbour/contrib/hbqt/qtgui/TQTextFrameFormat.prg
* harbour/contrib/hbqt/qtgui/QFontMetricsF.cpp
* harbour/contrib/hbqt/qtgui/TQTabWidget.prg
* harbour/contrib/hbqt/qtgui/TQLCDNumber.prg
* harbour/contrib/hbqt/qtgui/TQMainWindow.prg
* harbour/contrib/hbqt/qtgui/QToolButton.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionTitleBar.prg
* harbour/contrib/hbqt/qtgui/QWindowsStyle.cpp
* harbour/contrib/hbqt/qtgui/TQDockWidget.prg
* harbour/contrib/hbqt/qtgui/QColor.cpp
* harbour/contrib/hbqt/qtgui/QListWidget.cpp
* harbour/contrib/hbqt/qtgui/QTextLayout.cpp
* harbour/contrib/hbqt/qtgui/QTextCursor.cpp
* harbour/contrib/hbqt/qtgui/TQSound.prg
* harbour/contrib/hbqt/qtgui/QTextDocument.cpp
* harbour/contrib/hbqt/qtgui/TQHelpEvent.prg
* harbour/contrib/hbqt/qtgui/QAbstractProxyModel.cpp
* harbour/contrib/hbqt/qtgui/QPolygon.cpp
* harbour/contrib/hbqt/qtgui/TQGradient.prg
* harbour/contrib/hbqt/qtgui/TQAbstractPrintDialog.prg
* harbour/contrib/hbqt/qtgui/QRadioButton.cpp
* harbour/contrib/hbqt/qtgui/TQWizard.prg
* harbour/contrib/hbqt/qtgui/TQApplication.prg
* harbour/contrib/hbqt/qtgui/QAbstractButton.cpp
* harbour/contrib/hbqt/qtgui/TQSyntaxHighlighter.prg
* harbour/contrib/hbqt/qtgui/QStyleOptionViewItem.cpp
* harbour/contrib/hbqt/qtgui/QFileIconProvider.cpp
* harbour/contrib/hbqt/qtgui/TQTextOption.prg
* harbour/contrib/hbqt/qtgui/QTextFrameFormat.cpp
* harbour/contrib/hbqt/qtgui/QTextBlockFormat.cpp
* harbour/contrib/hbqt/qtgui/TQInputDialog.prg
* harbour/contrib/hbqt/qtgui/TQMovie.prg
* harbour/contrib/hbqt/qtgui/TQKeySequence.prg
* harbour/contrib/hbqt/qtgui/QStyleOptionToolBar.cpp
* harbour/contrib/hbqt/qtgui/QBitmap.cpp
* harbour/contrib/hbqt/qtgui/QCalendarWidget.cpp
* harbour/contrib/hbqt/qtgui/TQPrinter.prg
* harbour/contrib/hbqt/qtgui/QStyleOptionTitleBar.cpp
* harbour/contrib/hbqt/qtgui/QHeaderView.cpp
* harbour/contrib/hbqt/qtgui/QScrollBar.cpp
* harbour/contrib/hbqt/qtgui/TQActionGroup.prg
* harbour/contrib/hbqt/qtgui/TQTextEdit.prg
* harbour/contrib/hbqt/qtgui/QStyleOptionButton.cpp
* harbour/contrib/hbqt/qtgui/TQWizardPage.prg
* harbour/contrib/hbqt/qtgui/QCommandLinkButton.cpp
* harbour/contrib/hbqt/qtgui/TQFontComboBox.prg
* harbour/contrib/hbqt/qtgui/QFocusFrame.cpp
* harbour/contrib/hbqt/qtgui/QSizePolicy.cpp
* harbour/contrib/hbqt/qtgui/TQListView.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionSizeGrip.prg
* harbour/contrib/hbqt/qtgui/QAbstractPrintDialog.cpp
* harbour/contrib/hbqt/qtgui/QApplication.cpp
* harbour/contrib/hbqt/qtgui/TQTextBlockGroup.prg
* harbour/contrib/hbqt/qtgui/QAbstractSlider.cpp
* harbour/contrib/hbqt/qtgui/QTextFragment.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionGroupBox.prg
* harbour/contrib/hbqt/qtgui/Makefile
* harbour/contrib/hbqt/qtgui/QAbstractScrollArea.cpp
* harbour/contrib/hbqt/qtgui/TQPrintEngine.prg
* harbour/contrib/hbqt/qtgui/TQStylePainter.prg
* harbour/contrib/hbqt/qtgui/QPlainTextEdit.cpp
* harbour/contrib/hbqt/qtgui/QInputDialog.cpp
* harbour/contrib/hbqt/qtgui/QKeySequence.cpp
* harbour/contrib/hbqt/qtgui/QPrinter.cpp
* harbour/contrib/hbqt/qtgui/TQMessageBox.prg
* harbour/contrib/hbqt/qtgui/QKeyEvent.cpp
* harbour/contrib/hbqt/qtgui/QActionGroup.cpp
* harbour/contrib/hbqt/qtgui/QTextCharFormat.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionSlider.cpp
* harbour/contrib/hbqt/qtgui/TQFontMetricsF.prg
* harbour/contrib/hbqt/qtgui/TQDragMoveEvent.prg
* harbour/contrib/hbqt/qtgui/QInputEvent.cpp
* harbour/contrib/hbqt/qtgui/QWidgetItem.cpp
* harbour/contrib/hbqt/qtgui/TQCommonStyle.prg
* harbour/contrib/hbqt/qtgui/QMenu.cpp
* harbour/contrib/hbqt/qtgui/TQWindowsStyle.prg
* harbour/contrib/hbqt/qtgui/TQPushButton.prg
* harbour/contrib/hbqt/qtgui/QStyleOptionSizeGrip.cpp
* harbour/contrib/hbqt/qtgui/TQDoubleSpinBox.prg
* harbour/contrib/hbqt/qtgui/QTextObject.cpp
* harbour/contrib/hbqt/qtgui/TQTreeWidgetItem.prg
* harbour/contrib/hbqt/qtgui/TQTableView.prg
* harbour/contrib/hbqt/qtgui/TQTextDocument.prg
* harbour/contrib/hbqt/qtgui/QStyleOptionGroupBox.cpp
* harbour/contrib/hbqt/qtgui/QPrintEngine.cpp
* harbour/contrib/hbqt/qtgui/QFontInfo.cpp
* harbour/contrib/hbqt/qtgui/QImage.cpp
* harbour/contrib/hbqt/qtgui/TQButtonGroup.prg
* harbour/contrib/hbqt/qtgui/TQFrame.prg
* harbour/contrib/hbqt/qtgui/TQCompleter.prg
* harbour/contrib/hbqt/qtgui/QValidator.cpp
* harbour/contrib/hbqt/qtgui/TQTextFormat.prg
* harbour/contrib/hbqt/qtgui/QIcon.cpp
* harbour/contrib/hbqt/qtgui/TQColorDialog.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionProgressBar.prg
* harbour/contrib/hbqt/qtgui/QPolygonF.cpp
* harbour/contrib/hbqt/qtgui/TQFileIconProvider.prg
* harbour/contrib/hbqt/qtgui/QHBoxLayout.cpp
* harbour/contrib/hbqt/qtgui/TQStyleHintReturnVariant.prg
* harbour/contrib/hbqt/qtgui/QTreeWidget.cpp
* harbour/contrib/hbqt/qtgui/QCommonStyle.cpp
* harbour/contrib/hbqt/qtgui/TQTextDocumentWriter.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionTab.prg
* harbour/contrib/hbqt/qtgui/TQStringListModel.prg
* harbour/contrib/hbqt/qtgui/QAbstractItemView.cpp
* harbour/contrib/hbqt/qtgui/QSessionManager.cpp
* harbour/contrib/hbqt/qtgui/TQTextBrowser.prg
* harbour/contrib/hbqt/qtgui/QProgressDialog.cpp
* harbour/contrib/hbqt/qtgui/TQTableWidget.prg
* harbour/contrib/hbqt/qtgui/TQTabBar.prg
* harbour/contrib/hbqt/qtgui/TQSpacerItem.prg
* harbour/contrib/hbqt/qtgui/QButtonGroup.cpp
* harbour/contrib/hbqt/qtgui/QStyleFactory.cpp
* harbour/contrib/hbqt/qtgui/TQDialog.prg
* harbour/contrib/hbqt/qtgui/TQFileDialog.prg
* harbour/contrib/hbqt/qtgui/TQStandardItemModel.prg
* harbour/contrib/hbqt/qtgui/TQFormLayout.prg
* harbour/contrib/hbqt/qtgui/QSystemTrayIcon.cpp
* harbour/contrib/hbqt/qtgui/TQItemSelection.prg
* harbour/contrib/hbqt/qtgui/QListWidgetItem.cpp
* harbour/contrib/hbqt/qtgui/QColorDialog.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionDockWidget.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionTabWidgetFrame.cpp
* harbour/contrib/hbqt/qtgui/TQFileSystemModel.prg
* harbour/contrib/hbqt/qtgui/TQAbstractSpinBox.prg
* harbour/contrib/hbqt/qtgui/TQTextFragment.prg
* harbour/contrib/hbqt/qtgui/QInputMethodEvent.cpp
* harbour/contrib/hbqt/qtgui/QDateTimeEdit.cpp
* harbour/contrib/hbqt/qtgui/TQTransform.prg
* harbour/contrib/hbqt/qtgui/TQVBoxLayout.prg
* harbour/contrib/hbqt/qtgui/QStyleOptionFocusRect.cpp
* harbour/contrib/hbqt/qtgui/QMoveEvent.cpp
* harbour/contrib/hbqt/qtgui/TQImageWriter.prg
* harbour/contrib/hbqt/qtgui/QMainWindow.cpp
* harbour/contrib/hbqt/qtgui/QDesktopWidget.cpp
* harbour/contrib/hbqt/qtgui/QTableWidgetSelectionRange.cpp
* harbour/contrib/hbqt/qtgui/QWidgetAction.cpp
* harbour/contrib/hbqt/qtgui/TQMenuBar.prg
* harbour/contrib/hbqt/qtgui/QStringListModel.cpp
* harbour/contrib/hbqt/qtgui/TQKeyEvent.prg
* harbour/contrib/hbqt/qtgui/QDockWidget.cpp
* harbour/contrib/hbqt/qtgui/TQPaintDevice.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionMenuItem.prg
* harbour/contrib/hbqt/qtgui/TQFontMetrics.prg
* harbour/contrib/hbqt/qtgui/QTextBrowser.cpp
* harbour/contrib/hbqt/qtgui/TQStyle.prg
* harbour/contrib/hbqt/qtgui/QTableWidget.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionHeader.prg
* harbour/contrib/hbqt/qtgui/TQMenu.prg
* harbour/contrib/hbqt/qtgui/TQMatrix.prg
* harbour/contrib/hbqt/qtgui/QErrorMessage.cpp
* harbour/contrib/hbqt/qtgui/QWizard.cpp
* harbour/contrib/hbqt/qtgui/QFileSystemModel.cpp
* harbour/contrib/hbqt/qtgui/TQPrintDialog.prg
* harbour/contrib/hbqt/qtgui/QAbstractSpinBox.cpp
* harbour/contrib/hbqt/qtgui/TQPrintPreviewDialog.prg
* harbour/contrib/hbqt/qtgui/TQLabel.prg
* harbour/contrib/hbqt/qtgui/QDial.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionComboBox.prg
* harbour/contrib/hbqt/qtgui/TQSlider.prg
* harbour/contrib/hbqt/qtgui/TQFontInfo.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionToolButton.prg
* harbour/contrib/hbqt/qtgui/QTextOption.cpp
* harbour/contrib/hbqt/qtgui/TQBrush.prg
* harbour/contrib/hbqt/qtgui/QImageWriter.cpp
* harbour/contrib/hbqt/qtgui/TQScrollArea.prg
* harbour/contrib/hbqt/qtgui/TQIcon.prg
* harbour/contrib/hbqt/qtgui/TQLayoutItem.prg
* harbour/contrib/hbqt/qtgui/TQPolygonF.prg
* harbour/contrib/hbqt/qtgui/TQPixmap.prg
* harbour/contrib/hbqt/qtgui/QMenuBar.cpp
* harbour/contrib/hbqt/qtgui/TQClipboard.prg
* harbour/contrib/hbqt/qtgui/TQTextImageFormat.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionTabBarBase.prg
* harbour/contrib/hbqt/qtgui/QPaintDevice.cpp
* harbour/contrib/hbqt/qtgui/QFontMetrics.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionMenuItem.cpp
* harbour/contrib/hbqt/qtgui/QWizardPage.cpp
* harbour/contrib/hbqt/qtgui/TQImageReader.prg
* harbour/contrib/hbqt/qtgui/QDropEvent.cpp
* harbour/contrib/hbqt/qtgui/TQAbstractItemView.prg
* harbour/contrib/hbqt/qtgui/TQColor.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionComplex.prg
* harbour/contrib/hbqt/qtgui/QTextBlockGroup.cpp
* harbour/contrib/hbqt/qtgui/QPrintDialog.cpp
* harbour/contrib/hbqt/qtgui/TQRegion.prg
* harbour/contrib/hbqt/qtgui/QStandardItem.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionComboBox.cpp
* harbour/contrib/hbqt/qtgui/TQStyleFactory.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionSpinBox.prg
* harbour/contrib/hbqt/qtgui/TQPalette.prg
* harbour/contrib/hbqt/qtgui/QSplashScreen.cpp
* harbour/contrib/hbqt/qtgui/TQDateTimeEdit.prg
* harbour/contrib/hbqt/qtgui/QSizeGrip.cpp
* harbour/contrib/hbqt/qtgui/TQInputMethodEvent.prg
* harbour/contrib/hbqt/qtgui/TQPainter.prg
* harbour/contrib/hbqt/qtgui/QMessageBox.cpp
* harbour/contrib/hbqt/qtgui/TQResizeEvent.prg
* harbour/contrib/hbqt/qtgui/TQTextTableFormat.prg
* harbour/contrib/hbqt/qtgui/QTextImageFormat.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionFocusRect.prg
* harbour/contrib/hbqt/qtgui/QGroupBox.cpp
* harbour/contrib/hbqt/qtgui/QImageReader.cpp
* harbour/contrib/hbqt/qtgui/TQDragEnterEvent.prg
* harbour/contrib/hbqt/qtgui/QTextDocumentFragment.cpp
* harbour/contrib/hbqt/qtgui/QPushButton.cpp
* harbour/contrib/hbqt/qtgui/TQWidgetAction.prg
* harbour/contrib/hbqt/qtgui/TQGridLayout.prg
* harbour/contrib/hbqt/qtgui/TQScrollBar.prg
* harbour/contrib/hbqt/qtgui/TQItemSelectionModel.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionButton.prg
* harbour/contrib/hbqt/qtgui/TQTextLength.prg
* harbour/contrib/hbqt/qtgui/TQCommandLinkButton.prg
* harbour/contrib/hbqt/qtgui/QTreeWidgetItem.cpp
* harbour/contrib/hbqt/qtgui/QBoxLayout.cpp
* harbour/contrib/hbqt/qtgui/TQErrorMessage.prg
* harbour/contrib/hbqt/qtgui/QTextFormat.cpp
* harbour/contrib/hbqt/qtgui/QPalette.cpp
* harbour/contrib/hbqt/qtgui/QTextFrame.cpp
* harbour/contrib/hbqt/qtgui/QTextBlock.cpp
* harbour/contrib/hbqt/qtgui/QPainter.cpp
* harbour/contrib/hbqt/qtgui/TQDial.prg
* harbour/contrib/hbqt/qtgui/QStyleOptionProgressBar.cpp
* harbour/contrib/hbqt/qtgui/QResizeEvent.cpp
* harbour/contrib/hbqt/qtgui/TQTableWidgetItem.prg
* harbour/contrib/hbqt/qtgui/QTextTableFormat.cpp
* harbour/contrib/hbqt/qtgui/TQAction.prg
* harbour/contrib/hbqt/qtgui/TQPaintEvent.prg
* harbour/contrib/hbqt/qtgui/QStyleHintReturnVariant.cpp
* harbour/contrib/hbqt/qtgui/QStatusBar.cpp
* harbour/contrib/hbqt/qtgui/TQStyledItemDelegate.prg
* harbour/contrib/hbqt/qtgui/TQPlainTextEdit.prg
* harbour/contrib/hbqt/qtgui/QTextInlineObject.cpp
* harbour/contrib/hbqt/qtgui/QTabWidget.cpp
* harbour/contrib/hbqt/qtgui/QContextMenuEvent.cpp
* harbour/contrib/hbqt/qtgui/QLCDNumber.cpp
* harbour/contrib/hbqt/qtgui/TQWidget.prg
* harbour/contrib/hbqt/qtgui/TQFontDialog.prg
* harbour/contrib/hbqt/qtgui/QTextDocumentWriter.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionTab.cpp
* harbour/contrib/hbqt/qtgui/QDateEdit.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOption.prg
* harbour/contrib/hbqt/qtgui/TQTextListFormat.prg
* harbour/contrib/hbqt/qtgui/TQMouseEvent.prg
* harbour/contrib/hbqt/qtgui/QCheckBox.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionSlider.prg
* harbour/contrib/hbqt/qtgui/QSound.cpp
* harbour/contrib/hbqt/qtgui/QHelpEvent.cpp
* harbour/contrib/hbqt/qtgui/QTabBar.cpp
* harbour/contrib/hbqt/qtgui/QSpacerItem.cpp
* harbour/contrib/hbqt/qtgui/TQAbstractTextDocumentLayout.prg
* harbour/contrib/hbqt/qtgui/QFileDialog.cpp
* harbour/contrib/hbqt/qtgui/QDirModel.cpp
* harbour/contrib/hbqt/qtgui/QDialog.cpp
* harbour/contrib/hbqt/qtgui/TQWheelEvent.prg
* harbour/contrib/hbqt/qtgui/QFormLayout.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionFrame.cpp
* harbour/contrib/hbqt/qtgui/TQRadialGradient.prg
* harbour/contrib/hbqt/qtgui/QSyntaxHighlighter.cpp
* harbour/contrib/hbqt/qtgui/QFont.cpp
* harbour/contrib/hbqt/qtgui/TQCursor.prg
* harbour/contrib/hbqt/qtgui/TQLayout.prg
* harbour/contrib/hbqt/qtgui/TQStandardItem.prg
* harbour/contrib/hbqt/qtgui/QTableWidgetItem.cpp
* harbour/contrib/hbqt/qtgui/TQFocusEvent.prg
* harbour/contrib/hbqt/qtgui/QVBoxLayout.cpp
* harbour/contrib/hbqt/qtgui/TQImage.prg
* harbour/contrib/hbqt/qtgui/TQSpinBox.prg
* harbour/contrib/hbqt/qtgui/QMovie.cpp
* harbour/contrib/hbqt/qtgui/TQValidator.prg
* harbour/contrib/hbqt/qtgui/TQLinearGradient.prg
* harbour/contrib/hbqt/qtgui/TQSplashScreen.prg
* harbour/contrib/hbqt/qtgui/TQDragLeaveEvent.prg
* harbour/contrib/hbqt/qtgui/TQSizeGrip.prg
* harbour/contrib/hbqt/qtgui/QStyleOption.cpp
* harbour/contrib/hbqt/qtgui/TQStyleHintReturnMask.prg
* harbour/contrib/hbqt/qtgui/QTreeView.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionToolBox.prg
* harbour/contrib/hbqt/qtgui/QTextLine.cpp
* harbour/contrib/hbqt/qtgui/TQGroupBox.prg
* harbour/contrib/hbqt/qtgui/TQTextDocumentFragment.prg
* harbour/contrib/hbqt/qtgui/QTextItem.cpp
* harbour/contrib/hbqt/qtgui/TQToolButton.prg
* harbour/contrib/hbqt/qtgui/QTimeEdit.cpp
* harbour/contrib/hbqt/qtgui/QMatrix.cpp
* harbour/contrib/hbqt/qtgui/TQListWidget.prg
* harbour/contrib/hbqt/qtgui/TQPen.prg
* harbour/contrib/hbqt/qtgui/TQTextCursor.prg
* harbour/contrib/hbqt/qtgui/TQTextLayout.prg
* harbour/contrib/hbqt/qtgui/QPrintPreviewDialog.cpp
* harbour/contrib/hbqt/qtgui/TQAbstractProxyModel.prg
* harbour/contrib/hbqt/qtgui/QSlider.cpp
* harbour/contrib/hbqt/qtgui/QSpinBox.cpp
* harbour/contrib/hbqt/qtgui/QScrollArea.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionDockWidget.prg
* harbour/contrib/hbqt/qtgui/TQAbstractButton.prg
* harbour/contrib/hbqt/qtgui/TQStyleOptionTabWidgetFrame.prg
* harbour/contrib/hbqt/qtgui/QFontDatabase.cpp
* harbour/contrib/hbqt/qtgui/QLayoutItem.cpp
* harbour/contrib/hbqt/qtgui/QLineEdit.cpp
* harbour/contrib/hbqt/qtgui/QPixmap.cpp
* harbour/contrib/hbqt/qtgui/QStyleHintReturnMask.cpp
* harbour/contrib/hbqt/qtgui/TQMoveEvent.prg
* harbour/contrib/hbqt/qtgui/TQTextInlineObject.prg
* harbour/contrib/hbqt/qtgui/TQContextMenuEvent.prg
* harbour/contrib/hbqt/qtgui/TQBitmap.prg
* harbour/contrib/hbqt/qtgui/QDragMoveEvent.cpp
* harbour/contrib/hbqt/qtgui/QSplitter.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionToolBar.prg
* harbour/contrib/hbqt/qtgui/TQDesktopWidget.prg
* harbour/contrib/hbqt/qtgui/TQCalendarWidget.prg
* harbour/contrib/hbqt/qtgui/TQPageSetupDialog.prg
* harbour/contrib/hbqt/qtgui/QComboBox.cpp
* harbour/contrib/hbqt/qtgui/TQTableWidgetSelectionRange.prg
* harbour/contrib/hbqt/qtgui/TQDateEdit.prg
* harbour/contrib/hbqt/qtgui/QDoubleSpinBox.cpp
* harbour/contrib/hbqt/qtgui/QAbstractItemDelegate.cpp
* harbour/contrib/hbqt/qtgui/TQHeaderView.prg
* harbour/contrib/hbqt/qtgui/TQConicalGradient.prg
* harbour/contrib/hbqt/qtgui/TQCheckBox.prg
* harbour/contrib/hbqt/qtgui/QStyleOptionComplex.cpp
* harbour/contrib/hbqt/qtgui/QTableView.cpp
* harbour/contrib/hbqt/qtgui/QPen.cpp
* harbour/contrib/hbqt/qtgui/QRegion.cpp
* harbour/contrib/hbqt/qtgui/TQFocusFrame.prg
* harbour/contrib/hbqt/qtgui/TQSizePolicy.prg
* harbour/contrib/hbqt/qtgui/TQDirModel.prg
* harbour/contrib/hbqt/qtgui/QFrame.cpp
* harbour/contrib/hbqt/qtgui/QCompleter.cpp
* harbour/contrib/hbqt/qtgui/QStyleOptionSpinBox.cpp
* harbour/contrib/hbqt/qtgui/TQStyleOptionFrame.prg
* harbour/contrib/hbqt/qtgui/TQFont.prg
* harbour/contrib/hbqt/qtgui/TQAbstractSlider.prg
* harbour/contrib/hbqt/qtgui/QInputContext.cpp
* harbour/contrib/hbqt/qtgui/TQAbstractScrollArea.prg
* harbour/contrib/hbqt/qtgui/TQPicture.prg
* harbour/contrib/hbqt/qtcore/TQSettings.prg
* harbour/contrib/hbqt/qtcore/QSettings.cpp
* harbour/contrib/hbqt/qtcore/TQUiLoader.prg
* harbour/contrib/hbqt/qtcore/QUiLoader.cpp
* harbour/contrib/hbqt/hbqt_errorsys.prg
* harbour/contrib/hbqt/hbqt_destruct.cpp
* harbour/contrib/hbqt/qtnetwork/QHttp.cpp
* harbour/contrib/hbqt/qtnetwork/TQHttpHeader.prg
* harbour/contrib/hbqt/qtnetwork/TQFtp.prg
* harbour/contrib/hbqt/qtnetwork/QHttpHeader.cpp
* harbour/contrib/hbqt/qtnetwork/QFtp.cpp
* harbour/contrib/hbqt/qtnetwork/TQHttpRequestHeader.prg
* harbour/contrib/hbqt/qtnetwork/TQNetworkRequest.prg
* harbour/contrib/hbqt/qtnetwork/TQHttpResponseHeader.prg
* harbour/contrib/hbqt/qtnetwork/QHttpRequestHeader.cpp
* harbour/contrib/hbqt/qtnetwork/QNetworkRequest.cpp
* harbour/contrib/hbqt/qtnetwork/QHttpResponseHeader.cpp
* harbour/contrib/hbqt/qtnetwork/TQHttp.prg
* harbour/contrib/hbqt/qtnetwork/Makefile
* harbour/contrib/hbqt/hbqt_misc.prg
* harbour/contrib/hbxbp/xbppresspace.prg
* harbour/contrib/hbxbp/xbprtf.prg
* harbour/contrib/hbxbp/xbpbrowse.prg
* harbour/contrib/hbxbp/xbpprintdialog.prg
* harbour/contrib/hbxbp/xbpdev.ch
* harbour/contrib/hbxbp/xbpprinter.prg
* harbour/contrib/hbxbp/xbpqtuiloader.prg
* harbour/contrib/hbnetio/netio.h
* harbour/contrib/hbnetio/netiomt.prg
* harbour/contrib/hbnetio/netiocli.c
* harbour/contrib/hbnetio/netiosrv.c
* harbour/contrib/hbnetio/Makefile
* harbour/contrib/hbide/ideobject.prg
* harbour/contrib/hbide/hbide.hbp
* harbour/contrib/hbide/iderequests.prg
* harbour/contrib/hbide/idestylesheets.prg
* harbour/contrib/hbide/idefindreplace.prg
* harbour/contrib/hbide/idethemes.prg
* harbour/contrib/hbide/ideeditor.prg
* harbour/contrib/hbide/hbide.prg
* harbour/contrib/hbide/idemisc.prg
* harbour/contrib/hbide/hbide.ch
* harbour/contrib/hbide/idetags.prg
* harbour/contrib/hbide/idesaveload.prg
* harbour/contrib/hbide/ideactions.prg
* harbour/contrib/hbide/idedocks.prg
* harbour/contrib/hbide/ideparseexpr.c
* harbour/contrib/hbide/ideprojmanager.prg
* set svn:keywords attribute to "Author Date Id Revision"
|
||
|
|
af90ba9a0c |
2010-01-11 12:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbznet.c
* move hb_znetOpen() parameter validation from HB_INETCOMPRESS()
to hb_znetOpen() - it should help keeping other code using
hb_znetOpen() more simple
* harbour/contrib/hbnetio/netio.h
* harbour/contrib/hbnetio/netiocli.c
* harbour/contrib/hbnetio/netiosrv.c
+ added support for compression and encryption in NETIO connection
streams. Enabling encryption (password) automatically enable also
compression. If necessary user can set compression level to
HB_ZLIB_COMPRESSION_NONE. HB_ZLIB_COMPRESSION_DISABLE used as
compression level removes compression and encryption.
See below for details of NETIO server and client code modifications.
* harbour/contrib/hbnetio/netiocli.c
+ extended NETIO_CONNECT() client side function parameters:
NETIO_CONNECT( [<cServer>], [<cPort>], [<nTimeOut>], ;
[<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
-> <lOK>
% changed the behavior of NETIO_CONNECT() client side function.
In the previous version this function was connecting to the server
and then disconnecting so it was used to check if connection is
available and to set default connection parameters.
Now it does not disconnect after successful connection so created
connection is keept and can be reused by any pending NETIO_*() calls.
User can open many different connections in the same time.
The connections are recognized by server and port address.
The connections set by NETIO_CONNECT() function can be closed by
NETIO_DISCONNECT() function.
Each repeated call to NETIO_CONNECT() increase reference counter
in the connection stream and need corresponding number of
NETIO_DISCONNECT() calls.
+ added new PRG client side function:
NETIO_DISCONNECT( [<cServer>], [<cPort>] ) -> <lOK>
which closes connections set by NETIO_CONNECT().
+ added support for passing connection password as part of file path
or function name in format:
<server>[:<port>[:<passwd>]]:<filepath|funcname>
i.e.:
192.168.0.1:2941:secret:path/to/file
Please remember that it's only an alternative method of setting
encryption which does not allow to use CHR(0) or ":" in passwords.
User can always set connection using NETIO_CONNECT() function which
will be used in RPC or FILE IO calls. If more then one connection
is set by NETIO_CONNECT() then user can chose the connection using
only server and port. It's not necessary to pass other connection
parameters.
+ added support for UNC paths:
//<server>[:<port>]/<filepath|funcname>
i.e.:
//192.168.0.1:2941/path/to/file
backslashes (\\) are also supported.
* harbour/contrib/hbnetio/netiosrv.c
% moved 1-st login identification from NETIO_ACCEPT() to NETIO_SERVER()
Such version do not block other connection accepting when server
waits for NETIO_LOGIN frame so it improve scalability and also
protect against code which may want to block access to the server
by opening dummy connections.
+ added new parameters to NETIO_ACCEPT() function which allows to set
encryption and compression for new connections:
NETIO_ACCEPT( <pListenSocket>, [<nTimeOut>],
[<cPass>], [<nCompressionLevel>], [<nStrategy>] )
-> <pConnectionSocket> | NIL
+ added new server side function:
NETIO_COMPRESS( <pConnectionSocket>,
[<cPass>], [<nCompressionLevel>], [<nStrategy>] )
-> NIL
which allow to set or change encryption and compression parameters
in existing connections
* harbour/contrib/hbnetio/netiomt.prg
* updated to accept new connection parameters in NETIO_MTSERVER()
function:
NETIO_MTSERVER( [<nPort>], [<cIfAddr>], [<cRootDir>], [<lRPC>],
[<cPasswd>], [<nCompressionLevel>], [<nStrategy>] )
-> <pListenSocket>
* harbour/contrib/hbnetio/utils/netiosrv.prg
+ added 5-th parameter <passwd> which enable encryption with compression,
current syntx is:
netiosrv [<port>] [<inetaddr>] [<rootdir>] [<rpc>] [<passwd>]
For default values use "" in command line for skipped parameters, i.e.:
netiosrv "" "" "" 1 topsecret
* harbour/contrib/hbnetio/tests/netiotst.prg
* enable RPC, compression and encryption in test code
+ added simple code which use RPC to create directory on the server side
Now it's possible to easy create secure NETIO connections and compression
should help in slow connections when big number of data has to be
exchange. In RDD file access it mostly help when tables use long records.
Hope you will find it useful. Please make tests.
|
||
|
|
62a09afd19 |
2009-10-19 23:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/gtalleg/tests/hbmk.hbm
* contrib/hbmysql/utils/hbmk.hbm
* contrib/hbmysql/utils/dbf2mysq.prg
* contrib/hbmysql/tests/test.prg
* contrib/hbmysql/tests/hbmk.hbm
* contrib/hbct/tests/tab.prg
* contrib/hbct/tests/tokensep.prg
* contrib/hbct/tests/datetime.prg
* contrib/hbct/tests/hbmk.hbm
* contrib/hbct/tests/token2.prg
* contrib/hbct/tests/charhist.prg
* contrib/xhb/tests/hbmk.hbm
* contrib/hbodbc/tests/hbmk.hbm
* contrib/hbtpathy/tests/hbmk.hbm
* contrib/hbmzip/tests/hbmk.hbm
* contrib/hbsqlit3/tests/hbmk.hbm
* contrib/hbsqlit3/tests/authoriz.prg
* contrib/hbblat/tests/hbmk.hbm
* contrib/hbqt/tests/hbmk.hbm
* contrib/hbfbird/tests/simple.prg
* contrib/hbfbird/tests/test.prg
* contrib/hbfbird/tests/hbmk.hbm
* contrib/hbziparc/tests/hbmk.hbm
* contrib/hbxbp/tests/hbmk.hbm
* contrib/hbnf/tests/ftgete.prg
* contrib/hbnf/tests/hbmk.hbm
* contrib/hbcurl/tests/ftp_uldl.prg
* contrib/hbcurl/tests/hbmk.hbm
* contrib/hbmemio/tests/hbmk.hbm
* contrib/gtqtc/tests/demoqtc.prg
* contrib/gtqtc/tests/hbmk.hbm
* contrib/hbnetio/utils/hbmk.hbm
* contrib/hbnetio/tests/hbmk.hbm
* contrib/rddsql/tests/hbmk.hbm
* contrib/hbhpdf/tests/harupdf.prg
* contrib/hbhpdf/tests/hbmk.hbm
* contrib/rddado/tests/hbmk.hbm
* contrib/gtwvg/tests/hbmk.hbm
* contrib/hbpgsql/tests/async.prg
* contrib/hbpgsql/tests/test.prg
* contrib/hbpgsql/tests/hbmk.hbm
* contrib/hbpgsql/tests/cache.prg
* contrib/hbpgsql/tests/stress.prg
* contrib/hbpgsql/tests/dbf2pg.prg
* contrib/hbclipsm/tests/hbmk.hbm
* contrib/rddads/tests/datad.prg
* contrib/rddads/tests/hbmk.hbm
* contrib/rddads/tests/testmg.prg
* contrib/hbfimage/tests/fitest.prg
* contrib/hbfimage/tests/hbmk.hbm
* contrib/hbgd/tests/tostring.prg
* contrib/hbgd/tests/gdtestcl.prg
* contrib/hbgd/tests/gdtest.prg
* contrib/hbgd/tests/animgif.prg
* contrib/hbgd/tests/testdpi.prg
* contrib/hbgd/tests/hbmk.hbm
* contrib/hbgd/tests/counter.prg
* contrib/hbgd/tests/antialia.prg
* contrib/hbgd/tests/bartest.prg
* contrib/hbgd/tests/barms.prg
* contrib/hbgd/tests/test_out.prg
* contrib/hbmisc/tests/testhbf.prg
* contrib/hbmisc/tests/hbmk.hbm
* contrib/hbmisc/tests/twirl.prg
* contrib/hbtip/tests/dnldftp.prg
* contrib/hbtip/tests/upld_ftp.prg
* contrib/hbtip/tests/dbtohtml.prg
* contrib/hbtip/tests/hbmk.hbm
* contrib/hbwin/hbwin.h
* contrib/hbwin/hbwin.ch
* contrib/hbwin/tests/testsim.prg
* contrib/hbwin/tests/testole.prg
* contrib/hbwin/tests/testcom2.prg
* contrib/hbwin/win_com.c
* contrib/hbssl/tests/hbmk.hbm
* contrib/hbbtree/tests/hbmk.hbm
! Fixed warnings and errors in test apps.
+ Added -es2 option to test/util default options.
* Renamed few macros in hbwin / win_com implementation:
FCN* -> WIN_COM_FUN_*
WPDBG* -> WIN_COM_DBG_*
; TOFIX: Some errors are left in hbgd/test_out.prg and
gtwvg to be fixed, now the can't be built.
Please do it.
|
||
|
|
7b830f3cd2 |
2009-10-19 18:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/gtalleg/tests/hbmk.hbm
* contrib/hbmysql/utils/hbmk.hbm
* contrib/hbmysql/tests/hbmk.hbm
* contrib/hbct/tests/hbmk.hbm
* contrib/xhb/tests/hbmk.hbm
* contrib/hbodbc/tests/hbmk.hbm
* contrib/hbtpathy/tests/hbmk.hbm
* contrib/hbmzip/tests/hbmk.hbm
* contrib/hbsqlit3/tests/hbmk.hbm
* contrib/hbblat/tests/hbmk.hbm
* contrib/hbqt/tests/hbmk.hbm
* contrib/hbfbird/tests/hbmk.hbm
* contrib/hbziparc/tests/hbmk.hbm
* contrib/hbxbp/tests/hbmk.hbm
* contrib/hbnf/tests/hbmk.hbm
* contrib/hbcurl/tests/hbmk.hbm
* contrib/hbmemio/tests/hbmk.hbm
* contrib/gtqtc/tests/hbmk.hbm
* contrib/hbnetio/utils/hbmk.hbm
* contrib/hbnetio/tests/hbmk.hbm
* contrib/rddsql/tests/hbmk.hbm
* contrib/hbhpdf/tests/hbmk.hbm
* contrib/rddado/tests/hbmk.hbm
* contrib/gtwvg/tests/hbmk.hbm
* contrib/hbpgsql/tests/hbmk.hbm
* contrib/rddads/tests/hbmk.hbm
* contrib/hbclipsm/tests/hbmk.hbm
* contrib/hbfimage/tests/hbmk.hbm
* contrib/hbgd/tests/hbmk.hbm
* contrib/hbmisc/tests/hbmk.hbm
* contrib/hbtip/tests/hbmk.hbm
* contrib/hbwin/tests/hbmk.hbm
* contrib/hbssl/tests/hbmk.hbm
* contrib/hbbtree/tests/hbmk.hbm
+ Added -w3 Harbour switch to all test dirs.
(in few places just formatted because it was there)
; TOFIX: All tests should be eventually made fully
warning free, so in the future expect -es2
switch to be added as well.
* contrib/hbwin/tests/testprn.prg
! Fixed two constant names.
|
||
|
|
acc4d55c3f |
2009-09-05 03:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/global.mk
! Fixed svnversion command call to work with older svn versions.
Thanks to Tamas Tevesz.
* contrib/hbfbird/firebird.c
! Fixed all remaining 64-bit compiler warnings. (msvc64, mingw64)
+ contrib/hbnetio/hbnetio.hbc
- contrib/hbnetio/tests/netiotst.hbp
+ contrib/hbnetio/tests/hbmk.hbm
+ Added .hbc file.
* Changed .prg specific .hbp file to generic autoprocessed .hbm file,
referring to .hbc file. This way it's in sync with rest of contribs
and makes it possible to add new tests in a lighter way)
|
||
|
|
875c946a57 |
2009-09-01 09:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/tests/netiotst.prg
* check if NETIO server is properly started
* formatting some messages
|
||
|
|
7b0e5052cd |
2009-09-01 09:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/tests/netiotst.prg
* added header with copyright message
* harbour/contrib/hbnetio/netiocli.c
* pacified two BCC warnings
|
||
|
|
08e0268da4 |
2009-09-01 00:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
* harbour/harbour-win-spec
* harbour/harbour-wce-spec
* harbour/bin/hb-func.sh
* harbour/contrib/Makefile
+ harbour/contrib/hbnetio
+ harbour/contrib/hbnetio/netio.h
+ harbour/contrib/hbnetio/netiomt.prg
+ harbour/contrib/hbnetio/netiocli.c
+ harbour/contrib/hbnetio/netiosrv.c
+ harbour/contrib/hbnetio/Makefile
+ added new library: HBNETIO.
It implements alternative RDD IO API which uses own TCP/IP sockets
to exchange data between client and server.
This library contains client and server code and is fully MT safe.
On client side it's enough to execute:
NETIO_CONNECT( [<cServer>], [<cPort>], [<nTimeOut>] ) -> <lOK>
function to register alternative NETIO RDD API and set default
server address and port.
<cServer> - server addres (default 127.0.0.1)
<cPort> - server port (default 2941)
<nTimeOut> - connection timeout (default -1 - not timeout)
Above settings are thread local and parameters of the 1-st successful
connection are used as default values for each new thread.
After registering NETIO client by above function each file starting
"net:" prefix is automatically redirected to given NETIO server, i.e.
use "net:mytable"
It's also possible to pass NETIO server and port as part of file name,
i.e.:
use "net:192.168.0.1:10005:mytable"
On the server side the following functions are available:
create NETIO listen socket:
NETIO_LISTEN( [<nPort>], [<cAddress>], [<cRootDir>] )
-> <pListenSocket> | NIL
accept new connection on NETIO listen socket:
NETIO_ACCEPT( <pListenSocket> [, <nTimeOut>] )
-> <pConnectionSocket> | NIL
start connection server:
NETIO_SERVER( <pConnectionSocket> ) -> NIL
stop connection accepting or connection server:
NETIO_SERVERSTOP( <pListenSocket> | <pConnectionSocket>, <lStop> )
-> NIL
activate MT NETIO server (it needs MT HVM):
NETIO_MTSERVER( [<nPort>], [<cAddress>] ) -> <pListenSocket> | NIL
To create NETIO server is enough to compile and link with MT HVM
this code:
proc main()
local pListenSocket
pListenSocket := netio_mtserver()
if empty( pListenSocket )
? "Cannot start server."
else
wait "Press any key to stop NETIO server."
netio_serverstop( pListenSocket )
pListenSocket := NIL
endif
return
NETIO works with all core RDDs (DBF, DBFFPT, DBFBLOB, DBFNTX, DBFCDX,
DBFNSX, SDF, DELIM) and any other RDD which inherits from above or
use standard RDD IO API (hb_file*() functions).
Without touching even single line in RDD code it gives the same
functionality as REDBFCDX in xHarbour but for all RDDs.
It's possible that such direct TCP/IP connection is faster then
file server protocols especially if they need more then one IP frame
to exchange data so it's one of the reason to use it in such cases.
Please make real speed tests.
The second reason to use NETIO server is resolving problem with
concurrent access to the same files using Harbour applications
compiled for different platforms, i.e. DOS, LINUX, Windows and OS2.
It's very hard to configure all client stations to use correct
locking system. NETIO fully resolves this problem so it can be
interesting alternative also for MS-Windows users only if they
do not want to play with oplocks setting on each station.
I'm interesting in user opinions about real life NETIO usage.
Have a fun with this new toy ;-)
+ harbour/contrib/hbnetio/tests
+ harbour/contrib/hbnetio/tests/netiotst.prg
+ harbour/contrib/hbnetio/tests/netiotst.hbp
+ harbour/contrib/hbnetio/tests/data
+ added simple test code for NETIO. It activates NETIO MT server
and then connects to this server to create and browse table with
memo file and production index with few tags.
|