Commit Graph

13 Commits

Author SHA1 Message Date
Viktor Szakats
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)
2010-06-04 13:32:23 +00:00
Przemyslaw Czerpak
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
2010-04-30 09:39:25 +00:00
Viktor Szakats
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.
2010-01-16 01:13:05 +00:00
Viktor Szakats
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.
2010-01-12 15:46:03 +00:00
Przemyslaw Czerpak
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.
2010-01-11 15:25:53 +00:00
Przemyslaw Czerpak
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"
2010-01-11 13:44:04 +00:00
Przemyslaw Czerpak
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.
2010-01-11 11:22:05 +00:00
Viktor Szakats
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.
2009-10-19 21:17:04 +00:00
Viktor Szakats
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.
2009-10-19 19:14:47 +00:00
Viktor Szakats
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)
2009-09-05 01:38:51 +00:00
Przemyslaw Czerpak
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
2009-09-01 07:48:44 +00:00
Przemyslaw Czerpak
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
2009-09-01 07:28:42 +00:00
Przemyslaw Czerpak
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.
2009-08-31 22:56:45 +00:00