Commit Graph

20 Commits

Author SHA1 Message Date
Viktor Szakats
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
2012-03-03 14:36:00 +00:00
Viktor Szakats
1b4008723b 2012-01-06 16:13 UTC+0100 Viktor Szakats (harbour syenar.net)
* ChangeLog
  * (whole tree)
    * changed e-mail address
2012-01-06 15:28:23 +00:00
Viktor Szakats
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
2011-12-24 02:47:24 +00:00
Viktor Szakats
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.
2011-01-31 14:49:20 +00:00
Viktor Szakats
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.
2011-01-25 22:33:36 +00:00
Viktor Szakats
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)
2011-01-25 22:13:28 +00:00
Viktor Szakats
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.
2010-07-09 20:51:12 +00:00
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