mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-01-04 03:50:30 +01:00
* json-rpc examples, and compile it as well
git-svn-id: trunk@15361 -
This commit is contained in:
parent
9797140bad
commit
3d414fe91b
9
.gitattributes
vendored
9
.gitattributes
vendored
@ -2164,6 +2164,15 @@ packages/fcl-res/xml/versiontypes.xml svneol=native#text/plain
|
||||
packages/fcl-res/xml/winpeimagereader.xml svneol=native#text/plain
|
||||
packages/fcl-web/Makefile svneol=native#text/plain
|
||||
packages/fcl-web/Makefile.fpc svneol=native#text/plain
|
||||
packages/fcl-web/examples/jsonrpc/demo1/demo.lpi svneol=native#text/plain
|
||||
packages/fcl-web/examples/jsonrpc/demo1/demo.lpr svneol=native#text/plain
|
||||
packages/fcl-web/examples/jsonrpc/demo1/echo.in svneol=native#text/plain
|
||||
packages/fcl-web/examples/jsonrpc/demo1/echobatch.in svneol=native#text/plain
|
||||
packages/fcl-web/examples/jsonrpc/demo1/extdirect.in svneol=native#text/plain
|
||||
packages/fcl-web/examples/jsonrpc/demo1/notification.in svneol=native#text/plain
|
||||
packages/fcl-web/examples/jsonrpc/demo1/wmdemo.lfm svneol=native#text/plain
|
||||
packages/fcl-web/examples/jsonrpc/demo1/wmdemo.lrs svneol=native#text/plain
|
||||
packages/fcl-web/examples/jsonrpc/demo1/wmdemo.pp svneol=native#text/plain
|
||||
packages/fcl-web/examples/webdata/demo/createusers.lpi svneol=native#text/plain
|
||||
packages/fcl-web/examples/webdata/demo/createusers.lpr svneol=native#text/plain
|
||||
packages/fcl-web/examples/webdata/demo/extgrid-json.html svneol=native#text/plain
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
#
|
||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2010/05/22]
|
||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2009/11/05]
|
||||
#
|
||||
default: all
|
||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-solaris x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux
|
||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
|
||||
BSDs = freebsd netbsd openbsd darwin
|
||||
UNIXs = linux $(BSDs) solaris qnx haiku
|
||||
UNIXs = linux $(BSDs) solaris qnx
|
||||
LIMIT83fs = go32v2 os2 emx watcom
|
||||
OSNeedsComspecToRunBatch = go32v2 watcom
|
||||
FORCE:
|
||||
@ -59,11 +59,9 @@ endif
|
||||
endif
|
||||
ifdef COMSPEC
|
||||
ifneq ($(findstring $(OS_SOURCE),$(OSNeedsComspecToRunBatch)),)
|
||||
ifndef RUNBATCH
|
||||
RUNBATCH=$(COMSPEC) /C
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifdef inUnix
|
||||
PATHSEP=/
|
||||
else
|
||||
@ -267,187 +265,178 @@ PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(F
|
||||
override PACKAGE_NAME=fcl-web
|
||||
override PACKAGE_VERSION=2.5.1
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-haiku)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-darwin)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wince)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-embedded)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-symbian)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-nativent)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-solaris)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-darwin)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-darwin)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-gba)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-nds)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-embedded)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-symbian)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-darwin)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),avr-embedded)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-linux)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),mipsel-linux)
|
||||
override TARGET_DIRS+=src/base src/webdata
|
||||
override TARGET_DIRS+=src/base src/webdata src/jsonrpc
|
||||
endif
|
||||
override INSTALL_FPCPACKAGE=y
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
@ -510,9 +499,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),i386-symbian)
|
||||
override COMPILER_OPTIONS+=-S2h
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-nativent)
|
||||
override COMPILER_OPTIONS+=-S2h
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override COMPILER_OPTIONS+=-S2h
|
||||
endif
|
||||
@ -576,9 +562,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override COMPILER_OPTIONS+=-S2h
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-solaris)
|
||||
override COMPILER_OPTIONS+=-S2h
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-darwin)
|
||||
override COMPILER_OPTIONS+=-S2h
|
||||
endif
|
||||
@ -630,9 +613,6 @@ endif
|
||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||
override COMPILER_OPTIONS+=-S2h
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),mipsel-linux)
|
||||
override COMPILER_OPTIONS+=-S2h
|
||||
endif
|
||||
ifdef REQUIRE_UNITSDIR
|
||||
override UNITSDIR+=$(REQUIRE_UNITSDIR)
|
||||
endif
|
||||
@ -1006,10 +986,6 @@ ifeq ($(OS_TARGET),symbian)
|
||||
SHAREDLIBEXT=.dll
|
||||
SHORTSUFFIX=symbian
|
||||
endif
|
||||
ifeq ($(OS_TARGET),NativeNT)
|
||||
SHAREDLIBEXT=.dll
|
||||
SHORTSUFFIX=nativent
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_TARGET),go32v1)
|
||||
PPUEXT=.pp1
|
||||
@ -1738,18 +1714,6 @@ REQUIRE_PACKAGES_FCL-PROCESS=1
|
||||
REQUIRE_PACKAGES_HTTPD22=1
|
||||
REQUIRE_PACKAGES_FASTCGI=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-nativent)
|
||||
REQUIRE_PACKAGES_FCL-BASE=1
|
||||
REQUIRE_PACKAGES_FCL-XML=1
|
||||
REQUIRE_PACKAGES_FCL-DB=1
|
||||
REQUIRE_PACKAGES_FCL-JSON=1
|
||||
REQUIRE_PACKAGES_FCL-PASSRC=1
|
||||
REQUIRE_PACKAGES_FCL-ASYNC=1
|
||||
REQUIRE_PACKAGES_FCL-NET=1
|
||||
REQUIRE_PACKAGES_FCL-PROCESS=1
|
||||
REQUIRE_PACKAGES_HTTPD22=1
|
||||
REQUIRE_PACKAGES_FASTCGI=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
REQUIRE_PACKAGES_FCL-BASE=1
|
||||
REQUIRE_PACKAGES_ICONVENC=1
|
||||
@ -2087,19 +2051,6 @@ REQUIRE_PACKAGES_FCL-PROCESS=1
|
||||
REQUIRE_PACKAGES_HTTPD22=1
|
||||
REQUIRE_PACKAGES_FASTCGI=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-solaris)
|
||||
REQUIRE_PACKAGES_FCL-BASE=1
|
||||
REQUIRE_PACKAGES_FCL-XML=1
|
||||
REQUIRE_PACKAGES_FCL-DB=1
|
||||
REQUIRE_PACKAGES_FCL-JSON=1
|
||||
REQUIRE_PACKAGES_FCL-PASSRC=1
|
||||
REQUIRE_PACKAGES_FCL-ASYNC=1
|
||||
REQUIRE_PACKAGES_FCL-NET=1
|
||||
REQUIRE_PACKAGES_SQLITE=1
|
||||
REQUIRE_PACKAGES_FCL-PROCESS=1
|
||||
REQUIRE_PACKAGES_HTTPD22=1
|
||||
REQUIRE_PACKAGES_FASTCGI=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-darwin)
|
||||
REQUIRE_PACKAGES_UNIVINT=1
|
||||
REQUIRE_PACKAGES_FCL-BASE=1
|
||||
@ -2362,26 +2313,6 @@ REQUIRE_PACKAGES_FCL-PROCESS=1
|
||||
REQUIRE_PACKAGES_HTTPD22=1
|
||||
REQUIRE_PACKAGES_FASTCGI=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),mipsel-linux)
|
||||
REQUIRE_PACKAGES_FCL-BASE=1
|
||||
REQUIRE_PACKAGES_ICONVENC=1
|
||||
REQUIRE_PACKAGES_FCL-XML=1
|
||||
REQUIRE_PACKAGES_FCL-DB=1
|
||||
REQUIRE_PACKAGES_FCL-JSON=1
|
||||
REQUIRE_PACKAGES_FCL-PASSRC=1
|
||||
REQUIRE_PACKAGES_FCL-ASYNC=1
|
||||
REQUIRE_PACKAGES_FCL-NET=1
|
||||
REQUIRE_PACKAGES_IBASE=1
|
||||
REQUIRE_PACKAGES_POSTGRES=1
|
||||
REQUIRE_PACKAGES_MYSQL=1
|
||||
REQUIRE_PACKAGES_ODBC=1
|
||||
REQUIRE_PACKAGES_ORACLE=1
|
||||
REQUIRE_PACKAGES_SQLITE=1
|
||||
REQUIRE_PACKAGES_PXLIB=1
|
||||
REQUIRE_PACKAGES_FCL-PROCESS=1
|
||||
REQUIRE_PACKAGES_HTTPD22=1
|
||||
REQUIRE_PACKAGES_FASTCGI=1
|
||||
endif
|
||||
ifdef REQUIRE_PACKAGES_FCL-BASE
|
||||
PACKAGEDIR_FCL-BASE:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /fcl-base/Makefile.fpc,$(PACKAGESDIR))))))
|
||||
ifneq ($(PACKAGEDIR_FCL-BASE),)
|
||||
@ -3154,7 +3085,7 @@ ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))
|
||||
ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))
|
||||
ifdef USETAR
|
||||
ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(TAREXT)
|
||||
ZIPCMD_ZIP:=$(TARPROG) c$(TAROPT)f $(ZIPDESTFILE) *
|
||||
ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
|
||||
else
|
||||
ZIPDESTFILE:=$(DIST_DESTDIR)/$(FULLZIPNAME)$(ZIPEXT)
|
||||
ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
|
||||
@ -3199,9 +3130,6 @@ fpc_zipdistinstall:
|
||||
ifdef EXEFILES
|
||||
override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
|
||||
endif
|
||||
ifdef CLEAN_PROGRAMS
|
||||
override CLEANEXEFILES+=$(addprefix $(TARGETDIRPREFIX),$(addsuffix $(EXEEXT), $(CLEAN_PROGRAMS)))
|
||||
endif
|
||||
ifdef CLEAN_UNITS
|
||||
override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
|
||||
endif
|
||||
@ -3248,9 +3176,6 @@ endif
|
||||
ifdef CLEANRSTFILES
|
||||
-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
|
||||
endif
|
||||
endif
|
||||
ifdef CLEAN_FILES
|
||||
-$(DEL) $(CLEAN_FILES)
|
||||
endif
|
||||
-$(DELTREE) units
|
||||
-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
|
||||
@ -3377,246 +3302,292 @@ fpc_makefiles: fpc_makefile fpc_makefile_dirs
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-haiku)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-darwin)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wince)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-embedded)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-symbian)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-nativent)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-solaris)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-darwin)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-darwin)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-gba)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-nds)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-embedded)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-symbian)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-darwin)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),avr-embedded)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-linux)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),armeb-embedded)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),mipsel-linux)
|
||||
TARGET_DIRS_SRC/BASE=1
|
||||
TARGET_DIRS_SRC/WEBDATA=1
|
||||
TARGET_DIRS_SRC/JSONRPC=1
|
||||
endif
|
||||
ifdef TARGET_DIRS_SRC/BASE
|
||||
src/base_all:
|
||||
@ -3708,6 +3679,51 @@ src/webdata:
|
||||
$(MAKE) -C src/webdata all
|
||||
.PHONY: src/webdata_all src/webdata_debug src/webdata_smart src/webdata_release src/webdata_units src/webdata_examples src/webdata_shared src/webdata_install src/webdata_sourceinstall src/webdata_exampleinstall src/webdata_distinstall src/webdata_zipinstall src/webdata_zipsourceinstall src/webdata_zipexampleinstall src/webdata_zipdistinstall src/webdata_clean src/webdata_distclean src/webdata_cleanall src/webdata_info src/webdata_makefiles src/webdata
|
||||
endif
|
||||
ifdef TARGET_DIRS_SRC/JSONRPC
|
||||
src/jsonrpc_all:
|
||||
$(MAKE) -C src/jsonrpc all
|
||||
src/jsonrpc_debug:
|
||||
$(MAKE) -C src/jsonrpc debug
|
||||
src/jsonrpc_smart:
|
||||
$(MAKE) -C src/jsonrpc smart
|
||||
src/jsonrpc_release:
|
||||
$(MAKE) -C src/jsonrpc release
|
||||
src/jsonrpc_units:
|
||||
$(MAKE) -C src/jsonrpc units
|
||||
src/jsonrpc_examples:
|
||||
$(MAKE) -C src/jsonrpc examples
|
||||
src/jsonrpc_shared:
|
||||
$(MAKE) -C src/jsonrpc shared
|
||||
src/jsonrpc_install:
|
||||
$(MAKE) -C src/jsonrpc install
|
||||
src/jsonrpc_sourceinstall:
|
||||
$(MAKE) -C src/jsonrpc sourceinstall
|
||||
src/jsonrpc_exampleinstall:
|
||||
$(MAKE) -C src/jsonrpc exampleinstall
|
||||
src/jsonrpc_distinstall:
|
||||
$(MAKE) -C src/jsonrpc distinstall
|
||||
src/jsonrpc_zipinstall:
|
||||
$(MAKE) -C src/jsonrpc zipinstall
|
||||
src/jsonrpc_zipsourceinstall:
|
||||
$(MAKE) -C src/jsonrpc zipsourceinstall
|
||||
src/jsonrpc_zipexampleinstall:
|
||||
$(MAKE) -C src/jsonrpc zipexampleinstall
|
||||
src/jsonrpc_zipdistinstall:
|
||||
$(MAKE) -C src/jsonrpc zipdistinstall
|
||||
src/jsonrpc_clean:
|
||||
$(MAKE) -C src/jsonrpc clean
|
||||
src/jsonrpc_distclean:
|
||||
$(MAKE) -C src/jsonrpc distclean
|
||||
src/jsonrpc_cleanall:
|
||||
$(MAKE) -C src/jsonrpc cleanall
|
||||
src/jsonrpc_info:
|
||||
$(MAKE) -C src/jsonrpc info
|
||||
src/jsonrpc_makefiles:
|
||||
$(MAKE) -C src/jsonrpc makefiles
|
||||
src/jsonrpc:
|
||||
$(MAKE) -C src/jsonrpc all
|
||||
.PHONY: src/jsonrpc_all src/jsonrpc_debug src/jsonrpc_smart src/jsonrpc_release src/jsonrpc_units src/jsonrpc_examples src/jsonrpc_shared src/jsonrpc_install src/jsonrpc_sourceinstall src/jsonrpc_exampleinstall src/jsonrpc_distinstall src/jsonrpc_zipinstall src/jsonrpc_zipsourceinstall src/jsonrpc_zipexampleinstall src/jsonrpc_zipdistinstall src/jsonrpc_clean src/jsonrpc_distclean src/jsonrpc_cleanall src/jsonrpc_info src/jsonrpc_makefiles src/jsonrpc
|
||||
endif
|
||||
all: $(addsuffix _all,$(TARGET_DIRS))
|
||||
debug: $(addsuffix _debug,$(TARGET_DIRS))
|
||||
smart: $(addsuffix _smart,$(TARGET_DIRS))
|
||||
|
||||
@ -7,7 +7,7 @@ name=fcl-web
|
||||
version=2.5.1
|
||||
|
||||
[target]
|
||||
dirs=src/base src/webdata
|
||||
dirs=src/base src/webdata src/jsonrpc
|
||||
|
||||
[require]
|
||||
packages=fcl-base fcl-xml fcl-db fcl-json fcl-net
|
||||
|
||||
93
packages/fcl-web/examples/jsonrpc/demo1/demo.lpi
Normal file
93
packages/fcl-web/examples/jsonrpc/demo1/demo.lpi
Normal file
@ -0,0 +1,93 @@
|
||||
<?xml version="1.0"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="7"/>
|
||||
<General>
|
||||
<Flags>
|
||||
<MainUnitHasCreateFormStatements Value="False"/>
|
||||
<Runnable Value="False"/>
|
||||
</Flags>
|
||||
<SessionStorage Value="InProjectDir"/>
|
||||
<MainUnit Value="0"/>
|
||||
<TargetFileExt Value=""/>
|
||||
<Title Value="FPC JSON-RPC demo "/>
|
||||
<ResourceType Value="res"/>
|
||||
<UseXPManifest Value="True"/>
|
||||
<Icon Value="0"/>
|
||||
</General>
|
||||
<VersionInfo>
|
||||
<Language Value=""/>
|
||||
<CharSet Value=""/>
|
||||
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
|
||||
</VersionInfo>
|
||||
<PublishOptions>
|
||||
<Version Value="2"/>
|
||||
<IgnoreBinaries Value="False"/>
|
||||
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
|
||||
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
|
||||
</PublishOptions>
|
||||
<RunParams>
|
||||
<local>
|
||||
<FormatVersion Value="1"/>
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="3">
|
||||
<Item1>
|
||||
<PackageName Value="WebLaz"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<PackageName Value="FCL"/>
|
||||
</Item3>
|
||||
</RequiredPackages>
|
||||
<Units Count="2">
|
||||
<Unit0>
|
||||
<Filename Value="demo.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="demo"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="wmdemo.pp"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<ComponentName Value="FPWebModule1"/>
|
||||
<ResourceBaseClass Value="DataModule"/>
|
||||
<UnitName Value="wmdemo"/>
|
||||
</Unit1>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="8"/>
|
||||
<SearchPaths>
|
||||
<IncludeFiles Value="$(ProjOutDir)/"/>
|
||||
</SearchPaths>
|
||||
<Parsing>
|
||||
<SyntaxOptions>
|
||||
<UseAnsiStrings Value="True"/>
|
||||
</SyntaxOptions>
|
||||
</Parsing>
|
||||
<Linking>
|
||||
<Debugging>
|
||||
<UseHeaptrc Value="True"/>
|
||||
</Debugging>
|
||||
</Linking>
|
||||
<Other>
|
||||
<CompilerPath Value="$(CompPath)"/>
|
||||
</Other>
|
||||
</CompilerOptions>
|
||||
<Debugging>
|
||||
<Exceptions Count="3">
|
||||
<Item1>
|
||||
<Name Value="EAbort"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<Name Value="ECodetoolError"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<Name Value="EFOpenError"/>
|
||||
</Item3>
|
||||
</Exceptions>
|
||||
</Debugging>
|
||||
</CONFIG>
|
||||
16
packages/fcl-web/examples/jsonrpc/demo1/demo.lpr
Normal file
16
packages/fcl-web/examples/jsonrpc/demo1/demo.lpr
Normal file
@ -0,0 +1,16 @@
|
||||
program demo;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
uses
|
||||
fpCGI, wmdemo;
|
||||
|
||||
// {$R *.res}
|
||||
|
||||
|
||||
begin
|
||||
Application.Title:='FPC JSON-RPC demo';
|
||||
Application.Initialize;
|
||||
Application.Run;
|
||||
end.
|
||||
|
||||
1
packages/fcl-web/examples/jsonrpc/demo1/echo.in
Normal file
1
packages/fcl-web/examples/jsonrpc/demo1/echo.in
Normal file
@ -0,0 +1 @@
|
||||
{ "method": "echo", "params": ["Hello JSON-RPC"], "id": 1 }
|
||||
4
packages/fcl-web/examples/jsonrpc/demo1/echobatch.in
Normal file
4
packages/fcl-web/examples/jsonrpc/demo1/echobatch.in
Normal file
@ -0,0 +1,4 @@
|
||||
[
|
||||
{ "method": "echo", "params": ["Hello JSON-RPC 1"], "id": 1 },
|
||||
{ "method": "echo", "params": ["Hello JSON-RPC 2"], "id": 2 }
|
||||
]
|
||||
4
packages/fcl-web/examples/jsonrpc/demo1/extdirect.in
Normal file
4
packages/fcl-web/examples/jsonrpc/demo1/extdirect.in
Normal file
@ -0,0 +1,4 @@
|
||||
[
|
||||
{ "action": "test", "method": "echo", "data": ["Hello JSON-RPC 1"], "tid": 1 },
|
||||
{ "action": "test", "method": "echo", "data": ["Hello JSON-RPC 2"], "tid": 2 }
|
||||
]
|
||||
1
packages/fcl-web/examples/jsonrpc/demo1/notification.in
Normal file
1
packages/fcl-web/examples/jsonrpc/demo1/notification.in
Normal file
@ -0,0 +1 @@
|
||||
{ "method": "echo", "params": ["Hello JSON-RPC"], "id": null }
|
||||
46
packages/fcl-web/examples/jsonrpc/demo1/wmdemo.lfm
Normal file
46
packages/fcl-web/examples/jsonrpc/demo1/wmdemo.lfm
Normal file
@ -0,0 +1,46 @@
|
||||
object FPWebModule1: TFPWebModule1
|
||||
OnCreate = DataModuleCreate
|
||||
OldCreateOrder = False
|
||||
Actions = <
|
||||
item
|
||||
Name = 'Manual'
|
||||
Default = True
|
||||
OnRequest = TFPWebActions0Request
|
||||
end
|
||||
item
|
||||
Name = 'Dispatch'
|
||||
Default = False
|
||||
OnRequest = TFPWebActions1Request
|
||||
end
|
||||
item
|
||||
Name = 'Registered'
|
||||
Default = False
|
||||
OnRequest = TFPWebActions2Request
|
||||
end
|
||||
item
|
||||
Name = 'ExtDirect'
|
||||
Default = False
|
||||
OnRequest = TFPWebActions3Request
|
||||
end
|
||||
item
|
||||
Name = 'Content'
|
||||
Default = False
|
||||
OnRequest = TFPWebActions4Request
|
||||
end
|
||||
item
|
||||
Name = 'ExtDirectAPI'
|
||||
Default = False
|
||||
OnRequest = TFPWebActions5Request
|
||||
end
|
||||
item
|
||||
Name = 'Module'
|
||||
Default = False
|
||||
OnRequest = TFPWebActions6Request
|
||||
end>
|
||||
ActionVar = 'Action'
|
||||
CreateSession = False
|
||||
Height = 260
|
||||
HorizontalOffset = 578
|
||||
VerticalOffset = 373
|
||||
Width = 442
|
||||
end
|
||||
15
packages/fcl-web/examples/jsonrpc/demo1/wmdemo.lrs
Normal file
15
packages/fcl-web/examples/jsonrpc/demo1/wmdemo.lrs
Normal file
@ -0,0 +1,15 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TFPWebModule1','FORMDATA',[
|
||||
'TPF0'#13'TFPWebModule1'#12'FPWebModule1'#8'OnCreate'#7#16'DataModuleCreate'
|
||||
+#14'OldCreateOrder'#8#7'Actions'#14#1#4'Name'#6#6'Manual'#7'Default'#9#9'OnR'
|
||||
+'equest'#7#21'TFPWebActions0Request'#0#1#4'Name'#6#8'Dispatch'#7'Default'#8#9
|
||||
+'OnRequest'#7#21'TFPWebActions1Request'#0#1#4'Name'#6#10'Registered'#7'Defau'
|
||||
+'lt'#8#9'OnRequest'#7#21'TFPWebActions2Request'#0#1#4'Name'#6#9'ExtDirect'#7
|
||||
+'Default'#8#9'OnRequest'#7#21'TFPWebActions3Request'#0#1#4'Name'#6#7'Content'
|
||||
+#7'Default'#8#9'OnRequest'#7#21'TFPWebActions4Request'#0#1#4'Name'#6#12'ExtD'
|
||||
+'irectAPI'#7'Default'#8#9'OnRequest'#7#21'TFPWebActions5Request'#0#1#4'Name'
|
||||
+#6#6'Module'#7'Default'#8#9'OnRequest'#7#21'TFPWebActions6Request'#0#0#9'Act'
|
||||
+'ionVar'#6#6'Action'#13'CreateSession'#8#6'Height'#3#4#1#16'HorizontalOffset'
|
||||
+#3'B'#2#14'VerticalOffset'#3'u'#1#5'Width'#3#186#1#0#0
|
||||
]);
|
||||
383
packages/fcl-web/examples/jsonrpc/demo1/wmdemo.pp
Normal file
383
packages/fcl-web/examples/jsonrpc/demo1/wmdemo.pp
Normal file
@ -0,0 +1,383 @@
|
||||
unit wmdemo;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, LResources, HTTPDefs, websession, fpHTTP, fpWeb;
|
||||
|
||||
type
|
||||
|
||||
{ TFPWebModule1 }
|
||||
|
||||
TFPWebModule1 = class(TFPWebModule)
|
||||
procedure DataModuleCreate(Sender: TObject);
|
||||
procedure TFPWebActions0Request(Sender: TObject; ARequest: TRequest;
|
||||
AResponse: TResponse; var Handled: Boolean);
|
||||
procedure TFPWebActions1Request(Sender: TObject; ARequest: TRequest;
|
||||
AResponse: TResponse; var Handled: Boolean);
|
||||
procedure TFPWebActions2Request(Sender: TObject; ARequest: TRequest;
|
||||
AResponse: TResponse; var Handled: Boolean);
|
||||
procedure TFPWebActions3Request(Sender: TObject; ARequest: TRequest;
|
||||
AResponse: TResponse; var Handled: Boolean);
|
||||
procedure TFPWebActions4Request(Sender: TObject; ARequest: TRequest;
|
||||
AResponse: TResponse; var Handled: Boolean);
|
||||
procedure TFPWebActions5Request(Sender: TObject; ARequest: TRequest;
|
||||
AResponse: TResponse; var Handled: Boolean);
|
||||
procedure TFPWebActions6Request(Sender: TObject; ARequest: TRequest;
|
||||
AResponse: TResponse; var Handled: Boolean);
|
||||
private
|
||||
{ private declarations }
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
FPWebModule1: TFPWebModule1;
|
||||
|
||||
implementation
|
||||
|
||||
Uses fpjson,jsonparser,fpjsonrpc,webjsonrpc, fpextdirect;
|
||||
|
||||
{ TFPWebModule1 }
|
||||
|
||||
procedure TFPWebModule1.DataModuleCreate(Sender: TObject);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TFPWebModule1.TFPWebActions0Request(Sender: TObject;
|
||||
ARequest: TRequest; AResponse: TResponse; var Handled: Boolean);
|
||||
{
|
||||
Demo 1. Manually do everything.
|
||||
Only a single method call is supported.
|
||||
}
|
||||
Var
|
||||
P : TJSONParser;
|
||||
Req,Res : TJSONData;
|
||||
Env,O : TJSONObject;
|
||||
M : TJSONStringType;
|
||||
E : TJSONRPCEcho;
|
||||
I : Integer;
|
||||
ID : TJSONData;
|
||||
Err : TJSONData;
|
||||
|
||||
begin
|
||||
Res:=Nil;
|
||||
Err:=Nil;
|
||||
ID:=Nil;
|
||||
try
|
||||
P:=TJSONParser.Create(ARequest.Content);
|
||||
try
|
||||
Req:=P.Parse;
|
||||
try
|
||||
If Not (Req is TJSONObject) then
|
||||
JSONRPCError(SErrRequestMustBeObject);
|
||||
O:=(Req as TJSONObject);
|
||||
I:=O.IndexOfName('id');
|
||||
If (I=-1) then
|
||||
JSONRPCError(SErrNoIDProperty);
|
||||
ID:=O.Items[i].Clone;
|
||||
if O.IndexOfName('method')=-1 then
|
||||
JSONRPCError(SErrNoMethodName);
|
||||
M:=O.Strings['method'];
|
||||
If (m<>'echo') then
|
||||
JSONRPCError('Only echo method is supported');
|
||||
E:=TJSONRPCEcho.Create(Self);
|
||||
try
|
||||
I:=O.IndexOfName('params');
|
||||
Res:=E.Execute(O.Items[i],Nil);
|
||||
finally
|
||||
E.Free;
|
||||
end;
|
||||
finally
|
||||
Req.Free;
|
||||
end;
|
||||
finally
|
||||
P.Free;
|
||||
end;
|
||||
except
|
||||
On E : Exception do
|
||||
Err:=TJSONObject.Create(['message',E.Message,'name',E.ClassName,'code',-1]);
|
||||
end;
|
||||
If Assigned(ID) and (ID.JSONType<>jtNull) then
|
||||
begin
|
||||
Env:=TJSONObject.Create();
|
||||
try
|
||||
If not Assigned(Res) then
|
||||
Res:=TJSONNull.Create;
|
||||
Env.Add('result',Res);
|
||||
If (Err=Nil) then
|
||||
Err:=TJSONNull.Create;
|
||||
Env.Add('error',Err);
|
||||
Env.Add('id',ID);
|
||||
AResponse.Content:=Env.AsJSON;
|
||||
finally
|
||||
Env.Free;
|
||||
end;
|
||||
end;
|
||||
AResponse.SendContent;
|
||||
Handled:=True;
|
||||
end;
|
||||
|
||||
procedure TFPWebModule1.TFPWebActions1Request(Sender: TObject;
|
||||
ARequest: TRequest; AResponse: TResponse; var Handled: Boolean);
|
||||
|
||||
{
|
||||
Demo 2. Use a dispatcher to dispatch the requests.
|
||||
The handler is located on the owner module
|
||||
(it is created run-time, though)
|
||||
}
|
||||
|
||||
Var
|
||||
Echohandler:TJSONRPCEcho;
|
||||
Disp : TJSONRPCDispatcher;
|
||||
P : TJSONParser;
|
||||
Req,res : TJSONData;
|
||||
O : TJSONRPCDispatchOptions;
|
||||
|
||||
begin
|
||||
Echohandler:=TJSONRPCEcho.Create(Self);
|
||||
try
|
||||
EchoHandler.Name:='echo';
|
||||
Disp:=TJSONRPCDispatcher.Create(Self);
|
||||
try
|
||||
O:=Disp.Options;
|
||||
Include(O,jdoRequireClass);
|
||||
Disp.Options:=O;
|
||||
P:= TJSONParser.Create(ARequest.Content);
|
||||
try
|
||||
Req:=P.Parse;
|
||||
try
|
||||
Res:=Nil;
|
||||
Res:=Disp.Execute(Req,Nil);
|
||||
try
|
||||
If Assigned(Res) then
|
||||
begin
|
||||
AResponse.Content:=Res.AsJSON;
|
||||
end;
|
||||
AResponse.SendContent;
|
||||
Handled:=True;
|
||||
finally
|
||||
FreeAndNil(Res);
|
||||
end;
|
||||
finally
|
||||
Req.Free;
|
||||
end;
|
||||
finally
|
||||
P.Free;
|
||||
end;
|
||||
finally
|
||||
Disp.Free;
|
||||
end;
|
||||
finally
|
||||
EchoHandler.Free;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure TFPWebModule1.TFPWebActions2Request(Sender: TObject;
|
||||
ARequest: TRequest; AResponse: TResponse; var Handled: Boolean);
|
||||
{
|
||||
Demo 3. Use a dispatcher to dispatch the requests,
|
||||
The handler is registered in the JSONFPCHandlerManager.
|
||||
(it is created run-time, though)
|
||||
}
|
||||
|
||||
Var
|
||||
Disp : TJSONRPCDispatcher;
|
||||
P : TJSONParser;
|
||||
Req,res : TJSONData;
|
||||
O : TJSONRPCDispatchOptions;
|
||||
|
||||
begin
|
||||
JSONRpcHandlerManager.RegisterHandler('','echo',TJSONRPCEcho);
|
||||
try
|
||||
Disp:=TJSONRPCDispatcher.Create(Self);
|
||||
try
|
||||
O:=Disp.Options;
|
||||
Include(O,jdoSearchRegistry);
|
||||
Disp.Options:=O;
|
||||
P:= TJSONParser.Create(ARequest.Content);
|
||||
try
|
||||
Req:=P.Parse;
|
||||
try
|
||||
Res:=Nil;
|
||||
Res:=Disp.Execute(Req,Nil);
|
||||
try
|
||||
If Assigned(Res) then
|
||||
begin
|
||||
AResponse.Content:=Res.AsJSON;
|
||||
end;
|
||||
AResponse.SendContent;
|
||||
Handled:=True;
|
||||
finally
|
||||
FreeAndNil(Res);
|
||||
end;
|
||||
finally
|
||||
Req.Free;
|
||||
end;
|
||||
finally
|
||||
P.Free;
|
||||
end;
|
||||
finally
|
||||
Disp.Free;
|
||||
end;
|
||||
finally
|
||||
JSONRpcHandlerManager.UnRegisterHandler('','echo');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFPWebModule1.TFPWebActions3Request(Sender: TObject;
|
||||
ARequest: TRequest; AResponse: TResponse; var Handled: Boolean);
|
||||
|
||||
{
|
||||
Demo 4. Ext.Direct dispatcher
|
||||
The handler is registered in the JSONFPCHandlerManager.
|
||||
(it is created run-time, though)
|
||||
}
|
||||
|
||||
Var
|
||||
Disp : TExtDirectDispatcher;
|
||||
P : TJSONParser;
|
||||
Req,res : TJSONData;
|
||||
O : TJSONRPCDispatchOptions;
|
||||
|
||||
begin
|
||||
JSONRpcHandlerManager.RegisterHandler('test','echo',TJSONRPCEcho);
|
||||
try
|
||||
Disp:=TExtDirectDispatcher.Create(Self);
|
||||
try
|
||||
O:=Disp.Options;
|
||||
Include(O,jdoSearchRegistry);
|
||||
Disp.Options:=O;
|
||||
P:= TJSONParser.Create(ARequest.Content);
|
||||
try
|
||||
Req:=P.Parse;
|
||||
try
|
||||
Res:=Nil;
|
||||
Res:=Disp.Execute(Req,Nil);
|
||||
try
|
||||
If Assigned(Res) then
|
||||
begin
|
||||
AResponse.Content:=Res.AsJSON;
|
||||
end;
|
||||
AResponse.ContentLength:=Length(AResponse.Content);
|
||||
AResponse.SendContent;
|
||||
Handled:=True;
|
||||
finally
|
||||
FreeAndNil(Res);
|
||||
end;
|
||||
finally
|
||||
Req.Free;
|
||||
end;
|
||||
finally
|
||||
P.Free;
|
||||
end;
|
||||
finally
|
||||
Disp.Free;
|
||||
end;
|
||||
finally
|
||||
JSONRpcHandlerManager.UnRegisterHandler('','echo');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFPWebModule1.TFPWebActions4Request(Sender: TObject;
|
||||
ARequest: TRequest; AResponse: TResponse; var Handled: Boolean);
|
||||
|
||||
{
|
||||
Demo 5. Using a TJSONRPCContentProducer.
|
||||
The handler is registered in the JSONFPCHandlerManager.
|
||||
(it is created run-time, though)
|
||||
}
|
||||
|
||||
Var
|
||||
Cont : TJSONRPCContentProducer;
|
||||
disp : TJSONRPCDispatcher;
|
||||
|
||||
begin
|
||||
JSONRpcHandlerManager.RegisterHandler('test','echo',TJSONRPCEcho);
|
||||
try
|
||||
Cont:=TJSONRPCContentProducer.Create(Self);
|
||||
try
|
||||
disp:=TJSONRPCDispatcher.Create(Cont);
|
||||
Disp.Options:=Disp.OPtions+[jdoSearchRegistry];
|
||||
Cont.Dispatcher:=Disp;
|
||||
AResponse.ContentStream:=TMemoryStream.Create;
|
||||
try
|
||||
Cont.GetContent(ARequest,AResponse.ContentStream,Handled);
|
||||
AResponse.ContentLength:=AResponse.ContentStream.Size;
|
||||
If Handled then
|
||||
AResponse.SendContent;
|
||||
finally
|
||||
AResponse.ContentStream.Free;
|
||||
end;
|
||||
finally
|
||||
Cont.Free;
|
||||
end;
|
||||
finally
|
||||
JSONRpcHandlerManager.UnRegisterHandler('','echo');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFPWebModule1.TFPWebActions5Request(Sender: TObject;
|
||||
ARequest: TRequest; AResponse: TResponse; var Handled: Boolean);
|
||||
{
|
||||
Demo 6. creating an API response for Ext.Direct
|
||||
The handler is registered in the JSONFPCHandlerManager.
|
||||
(it is created run-time, though)
|
||||
}
|
||||
|
||||
Var
|
||||
D : TExtDirectDispatcher;
|
||||
I : Integer;
|
||||
|
||||
begin
|
||||
JSONRpcHandlerManager.RegisterHandler('test','echo',TJSONRPCEcho);
|
||||
try
|
||||
D:=TExtDirectDispatcher.Create(Self);
|
||||
try
|
||||
D.URL:=BaseURL+'ExtDirect';
|
||||
D.Options:=D.Options+[jdoSearchRegistry];
|
||||
AResponse.Content:=D.APIAsString;
|
||||
AResponse.ContentLength:=Length(AResponse.Content);
|
||||
finally
|
||||
D.Free;
|
||||
end;
|
||||
finally
|
||||
JSONRpcHandlerManager.UnRegisterHandler('','echo');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFPWebModule1.TFPWebActions6Request(Sender: TObject;
|
||||
ARequest: TRequest; AResponse: TResponse; var Handled: Boolean);
|
||||
{
|
||||
Demo 6. Using a TJSONRPCModule instance to handle the request.
|
||||
The handler is registered in the JSONFPCHandlerManager.
|
||||
(it is created run-time, though)
|
||||
}
|
||||
|
||||
Var
|
||||
M : TJSONRPCModule;
|
||||
|
||||
begin
|
||||
JSONRpcHandlerManager.RegisterHandler('test','echo',TJSONRPCEcho);
|
||||
try
|
||||
M:=TJSONRPCModule.CreateNew(Self,0);
|
||||
try
|
||||
M.HandleRequest(ARequest,AResponse);
|
||||
Handled:=True;
|
||||
finally
|
||||
M.Free;
|
||||
end;
|
||||
finally
|
||||
JSONRpcHandlerManager.UnRegisterHandler('','echo');
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I wmdemo.lrs}
|
||||
|
||||
RegisterHTTPModule('echo', TFPWebModule1);
|
||||
end.
|
||||
|
||||
@ -35,6 +35,7 @@ begin
|
||||
|
||||
P.SourcePath.Add('src/base');
|
||||
P.SourcePath.Add('src/webdata');
|
||||
P.SourcePath.Add('src/jsonrpc');
|
||||
|
||||
T:=P.Targets.AddUnit('cgiapp.pp');
|
||||
T.ResourceStrings:=true;
|
||||
@ -152,13 +153,25 @@ begin
|
||||
AddUnit('httpdefs');
|
||||
AddUnit('fpextjs');
|
||||
end;
|
||||
T:=P.Targets.AddUnit('extjsjson.pp');
|
||||
T:=P.Targets.AddUnit('extjsjson.pp');
|
||||
With T.Dependencies do
|
||||
begin
|
||||
AddUnit('fpwebdata');
|
||||
AddUnit('httpdefs');
|
||||
AddUnit('fpextjs');
|
||||
end;
|
||||
T:=P.Targets.AddUnit('fpjsonrpc.pp');
|
||||
T:=P.Targets.AddUnit('webjsonrpc.pp');
|
||||
With T.Dependencies do
|
||||
begin
|
||||
AddUnit('fpjsonrpc');
|
||||
end;
|
||||
T:=P.Targets.AddUnit('fpextdirect.pp');
|
||||
With T.Dependencies do
|
||||
begin
|
||||
AddUnit('fpjsonrpc');
|
||||
AddUnit('webjsonrpc');
|
||||
end;
|
||||
{$ifndef ALLPACKAGES}
|
||||
Run;
|
||||
end;
|
||||
|
||||
@ -258,6 +258,7 @@ begin
|
||||
M:=TMemoryStream.Create;
|
||||
DoGetContent(ARequest,M,Handled);
|
||||
AResponse.ContentStream:=M;
|
||||
AResponse.ContentLength:=M.Size;
|
||||
end;
|
||||
|
||||
procedure THTTPContentProducer.DoGetContent(ARequest: TRequest; Content: TStream; Var Handled : Boolean);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user