Merge branch 'master' into bytarget_block
authorDennis Schafroth <dennis@indexdata.com>
Fri, 4 Nov 2011 12:56:14 +0000 (13:56 +0100)
committerDennis Schafroth <dennis@indexdata.com>
Fri, 4 Nov 2011 12:56:14 +0000 (13:56 +0100)
.cproject
.project
js/pz2.js
src/client.c
src/http_command.c
src/session.h

index be8b449..370e803 100644 (file)
--- a/.cproject
+++ b/.cproject
@@ -22,7 +22,7 @@
                                        <folderInfo id="cdt.managedbuild.config.gnu.macosx.exe.debug.1350738082." name="/" resourcePath="">
                                                <toolChain id="cdt.managedbuild.toolchain.gnu.macosx.exe.debug.642779913" name="MacOSX GCC" superClass="cdt.managedbuild.toolchain.gnu.macosx.exe.debug">
                                                        <targetPlatform id="cdt.managedbuild.target.gnu.platform.macosx.exe.debug.206052691" name="Debug Platform" superClass="cdt.managedbuild.target.gnu.platform.macosx.exe.debug"/>
-                                                       <builder buildPath="${workspace_loc:/pazpar2.master/Debug}" id="cdt.managedbuild.target.gnu.builder.macosx.exe.debug.2009339594" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.macosx.exe.debug"/>
+                                                       <builder arguments="-k" buildPath="${workspace_loc:/pazpar2.master/Debug}" command="make" id="cdt.managedbuild.target.gnu.builder.macosx.exe.debug.2009339594" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.target.gnu.builder.macosx.exe.debug"/>
                                                        <tool id="cdt.managedbuild.tool.macosx.c.linker.macosx.exe.debug.937721886" name="MacOS X C Linker" superClass="cdt.managedbuild.tool.macosx.c.linker.macosx.exe.debug">
                                                                <inputType id="cdt.managedbuild.tool.macosx.c.linker.input.377427532" superClass="cdt.managedbuild.tool.macosx.c.linker.input">
                                                                        <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
                                        </folderInfo>
                                </configuration>
                        </storageModule>
-                       <storageModule moduleId="scannerConfiguration">
-                               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="makefileGenerator">
-                                               <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.1350738082;cdt.managedbuild.config.gnu.macosx.exe.debug.1350738082.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.debug.2080175189;cdt.managedbuild.tool.gnu.c.compiler.input.1159745856">
-                                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
-                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="makefileGenerator">
-                                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                               </scannerConfigBuildInfo>
-                               <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.macosx.exe.release.397760623;cdt.managedbuild.config.macosx.exe.release.397760623.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release.479123096;cdt.managedbuild.tool.gnu.c.compiler.input.144338339">
-                                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
-                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="makefileGenerator">
-                                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                               </scannerConfigBuildInfo>
-                       </storageModule>
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
                        <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
                </cconfiguration>
                                        </folderInfo>
                                </configuration>
                        </storageModule>
-                       <storageModule moduleId="scannerConfiguration">
-                               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="makefileGenerator">
-                                               <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
-                                       <buildOutputProvider>
-                                               <openAction enabled="true" filePath=""/>
-                                               <parser enabled="true"/>
-                                       </buildOutputProvider>
-                                       <scannerInfoProvider id="specsFile">
-                                               <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>
-                                               <parser enabled="true"/>
-                                       </scannerInfoProvider>
-                               </profile>
-                               <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.1350738082;cdt.managedbuild.config.gnu.macosx.exe.debug.1350738082.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.debug.2080175189;cdt.managedbuild.tool.gnu.c.compiler.input.1159745856">
-                                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
-                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="makefileGenerator">
-                                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                               </scannerConfigBuildInfo>
-                               <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.macosx.exe.release.397760623;cdt.managedbuild.config.macosx.exe.release.397760623.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release.479123096;cdt.managedbuild.tool.gnu.c.compiler.input.144338339">
-                                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
-                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="makefileGenerator">
-                                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/${specs_file}&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'g++ -E -P -v -dD &quot;${plugin_state_location}/specs.cpp&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                                       <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
-                                               <buildOutputProvider>
-                                                       <openAction enabled="true" filePath=""/>
-                                                       <parser enabled="true"/>
-                                               </buildOutputProvider>
-                                               <scannerInfoProvider id="specsFile">
-                                                       <runAction arguments="-c 'gcc -E -P -v -dD &quot;${plugin_state_location}/specs.c&quot;'" command="sh" useDefault="true"/>
-                                                       <parser enabled="true"/>
-                                               </scannerInfoProvider>
-                                       </profile>
-                               </scannerConfigBuildInfo>
-                       </storageModule>
                        <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
                </cconfiguration>
        <storageModule moduleId="cdtBuildSystem" version="4.0.0">
                <project id="pazpar2.master.cdt.managedbuild.target.macosx.exe.943143256" name="Executable" projectType="cdt.managedbuild.target.macosx.exe"/>
        </storageModule>
+       <storageModule moduleId="refreshScope" versionNumber="1">
+               <resource resourceType="PROJECT" workspacePath="/pazpar2"/>
+       </storageModule>
+       <storageModule moduleId="scannerConfiguration">
+               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+                       <buildOutputProvider>
+                               <openAction enabled="true" filePath=""/>
+                               <parser enabled="true"/>
+                       </buildOutputProvider>
+                       <scannerInfoProvider id="makefileGenerator">
+                               <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+                               <parser enabled="true"/>
+                       </scannerInfoProvider>
+               </profile>
+               <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.macosx.exe.debug.1350738082;cdt.managedbuild.config.gnu.macosx.exe.debug.1350738082.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.debug.2080175189;cdt.managedbuild.tool.gnu.c.compiler.input.1159745856">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="makefileGenerator">
+                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="cdt.managedbuild.config.macosx.exe.release.397760623;cdt.managedbuild.config.macosx.exe.release.397760623.;cdt.managedbuild.tool.gnu.c.compiler.macosx.exe.release.479123096;cdt.managedbuild.tool.gnu.c.compiler.input.144338339">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
+                       <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
+                               <buildOutputProvider>
+                                       <openAction enabled="true" filePath=""/>
+                                       <parser enabled="true"/>
+                               </buildOutputProvider>
+                               <scannerInfoProvider id="makefileGenerator">
+                                       <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
+                                       <parser enabled="true"/>
+                               </scannerInfoProvider>
+                       </profile>
+               </scannerConfigBuildInfo>
+       </storageModule>
+       <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
 </cproject>
index abaaf39..6884081 100644 (file)
--- a/.project
+++ b/.project
@@ -63,7 +63,7 @@
                                </dictionary>
                                <dictionary>
                                        <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
-                                       <value>true</value>
+                                       <value>false</value>
                                </dictionary>
                        </arguments>
                </buildCommand>
index 75fd309..ca0d28c 100644 (file)
--- a/js/pz2.js
+++ b/js/pz2.js
@@ -629,7 +629,12 @@ pz2.prototype =
         var context = this;
         var request = new pzHttpRequest(this.pz2String, this.errorHandler);
         request.safeGet(
-            { "command": "bytarget", "session": this.sessionID, "windowid" : window.name},
+            { 
+               "command": "bytarget", 
+               "session": this.sessionID, 
+               "block": 1,
+               "windowid" : window.name
+           },
             function(data) {
                 if ( data.getElementsByTagName("status")[0]
                         .childNodes[0].nodeValue == "OK" ) {
index 0a1eb61..8751137 100644 (file)
@@ -184,6 +184,8 @@ void client_set_state(struct client *cl, enum client_state st)
                 client_get_id(cl), no_active);
         if (no_active == 0) {
             session_alert_watch(cl->session, SESSION_WATCH_SHOW);
+            session_alert_watch(cl->session, SESSION_WATCH_BYTARGET);
+            session_alert_watch(cl->session, SESSION_WATCH_TERMLIST);
             session_alert_watch(cl->session, SESSION_WATCH_SHOW_PREF);
         }
     }
@@ -554,6 +556,8 @@ void client_got_records(struct client *cl)
     {
         client_unlock(cl);
         session_alert_watch(se, SESSION_WATCH_SHOW);
+        session_alert_watch(se, SESSION_WATCH_BYTARGET);
+        session_alert_watch(se, SESSION_WATCH_TERMLIST);
         session_alert_watch(se, SESSION_WATCH_RECORD);
         client_lock(cl);
     }
@@ -1192,7 +1196,7 @@ const char * client_get_suggestions_xml(struct client *cl, WRBUF wrbuf)
     struct suggestions *suggestions = cl->suggestions;
 
     if (!suggestions) {
-        yaz_log(YLOG_DEBUG, "No suggestions found");
+        //yaz_log(YLOG_DEBUG, "No suggestions found");
         return "";
     }
     if (suggestions->passthrough) {
index a86aabb..0662ff5 100644 (file)
@@ -229,6 +229,7 @@ static const char *get_msg(enum pazpar2_error_code code)
         { PAZPAR2_RECORD_FAIL, "Record command failed"},
         { PAZPAR2_NOT_IMPLEMENTED, "Not implemented"},
         { PAZPAR2_NO_SERVICE, "No service"},
+        { PAZPAR2_ALREADY_BLOCKED, "Already blocked in session on: "},
         { PAZPAR2_LAST_ERROR, "Last error"},
         { 0, 0 }
     };
@@ -320,8 +321,8 @@ unsigned int make_sessionid(void)
 
 static struct http_session *locate_session(struct http_channel *c)
 {
-    struct http_response *rs = c->response;
     struct http_request *rq = c->request;
+    struct http_response *rs = c->response;
     struct http_session *p;
     const char *session = http_argbyname(rq, "session");
     http_sessions_t http_sessions = c->http_sessions;
@@ -508,7 +509,7 @@ static void cmd_settings(struct http_channel *c)
     release_session(c, s);
 }
 
-static void cmd_termlist(struct http_channel *c)
+static void termlist_response(struct http_channel *c)
 {
     struct http_request *rq = c->request;
     struct http_session *s = locate_session(c);
@@ -517,14 +518,11 @@ static void cmd_termlist(struct http_channel *c)
     int num = 15;
     int status;
 
-    if (!s)
-        return;
-
-    status = session_active_clients(s->psession);
-
     if (nums)
         num = atoi(nums);
 
+    status = session_active_clients(s->psession);
+
     response_open_no_status(c, "termlist");
     wrbuf_printf(c->wrbuf, "<activeclients>%d</activeclients>\n", status);
 
@@ -534,6 +532,46 @@ static void cmd_termlist(struct http_channel *c)
     release_session(c, s);
 }
 
+static void termlist_result_ready(void *data)
+{
+    struct http_channel *c = (struct http_channel *) data;
+    yaz_log(c->http_sessions->log_level, "termlist watch released");
+    termlist_response(c);
+}
+
+static void cmd_termlist(struct http_channel *c)
+{
+    struct http_request *rq = c->request;
+    struct http_response *rs = c->response;
+    struct http_session *s = locate_session(c);
+    const char *block = http_argbyname(rq, "block");
+    int active_clients;
+    if (!s)
+        return;
+
+    active_clients = session_active_clients(s->psession);
+
+    if (block && !strcmp("1", block) && active_clients)
+    {
+        // if there is already a watch/block. we do not block this one
+        if (session_set_watch(s->psession, SESSION_WATCH_TERMLIST,
+                              termlist_result_ready, c, c) != 0)
+        {
+            yaz_log(YLOG_WARN, "Attempt to block multiple times on termlist block. Not supported!");
+            error(rs, PAZPAR2_ALREADY_BLOCKED, "termlist");
+        }
+        else
+        {
+            yaz_log(c->http_sessions->log_level, "%p Session %u: Blocking on command termlist", s, s->session_id);
+        }
+        release_session(c, s);
+        return;
+    }
+
+    termlist_response(c);
+    release_session(c, s);
+}
+
 size_t session_get_memory_status(struct session *session);
 
 static void session_status(struct http_channel *c, struct http_session *s)
@@ -600,20 +638,17 @@ static void cmd_server_status(struct http_channel *c)
     xmalloc_trav(0);
 }
 
-
-static void cmd_bytarget(struct http_channel *c)
-{
-    struct http_request *rq = c->request;
-    struct http_session *s = locate_session(c);
+static void bytarget_response(struct http_channel *c) {
+    int count, i;
     struct hitsbytarget *ht;
+    struct http_request *rq = c->request;
     const char *settings = http_argbyname(rq, "settings");
-    int count, i;
+    struct http_session *s = locate_session(c);
 
-    if (!s)
-        return;
     ht = get_hitsbytarget(s->psession, &count, c->nmem);
     response_open(c, "bytarget");
-
+    if (count == 0)
+        yaz_log(YLOG_WARN, "Empty bytarget Response. No targets found!");
     for (i = 0; i < count; i++)
     {
         wrbuf_puts(c->wrbuf, "\n<target>");
@@ -653,6 +688,47 @@ static void cmd_bytarget(struct http_channel *c)
     release_session(c, s);
 }
 
+static void bytarget_result_ready(void *data)
+{
+    struct http_channel *c = (struct http_channel *) data;
+    yaz_log(c->http_sessions->log_level, "bytarget watch released");
+    bytarget_response(c);
+}
+
+
+static void cmd_bytarget(struct http_channel *c)
+{
+    struct http_request *rq = c->request;
+    struct http_response *rs = c->response;
+    struct http_session *s = locate_session(c);
+    const char *block = http_argbyname(rq, "block");
+    int no_active;
+
+    if (!s)
+        return;
+
+    no_active = session_active_clients(s->psession);
+
+    if (block && !strcmp("1",block) && no_active)
+    {
+        // if there is already a watch/block. we do not block this one
+        if (session_set_watch(s->psession, SESSION_WATCH_BYTARGET,
+                              bytarget_result_ready, c, c) != 0)
+        {
+            yaz_log(YLOG_WARN, "Attempt to block multiple times on bytarget block. Not supported!");
+            error(rs, PAZPAR2_ALREADY_BLOCKED, "bytarget"); 
+        }
+        else
+        {
+            yaz_log(c->http_sessions->log_level, "%p Session %u: Blocking on command bytarget", s, s->session_id);
+        }
+        release_session(c, s);
+        return;
+    }
+    bytarget_response(c);
+    release_session(c, s);
+}
+
 static void write_metadata(WRBUF w, struct conf_service *service,
         struct record_metadata **ml, int full)
 {
@@ -865,7 +941,7 @@ static void cmd_record(struct http_channel *c)
 static void cmd_record_ready(void *data)
 {
     struct http_channel *c = (struct http_channel *) data;
-
+    yaz_log(c->http_sessions->log_level, "record watch released");
     cmd_record(c);
 }
 
@@ -947,13 +1023,14 @@ static void show_records(struct http_channel *c, int active)
 static void show_records_ready(void *data)
 {
     struct http_channel *c = (struct http_channel *) data;
-
+    yaz_log(c->http_sessions->log_level, "show watch released");
     show_records(c, -1);
 }
 
 static void cmd_show(struct http_channel *c)
 {
-    struct http_request *rq = c->request;
+    struct http_request  *rq = c->request;
+    struct http_response *rs = c->response;
     struct http_session *s = locate_session(c);
     const char *block = http_argbyname(rq, "block");
     const char *sort = http_argbyname(rq, "sort");
@@ -982,10 +1059,15 @@ static void cmd_show(struct http_channel *c)
         {
             // if there is already a watch/block. we do not block this one
             if (session_set_watch(s->psession, SESSION_WATCH_SHOW_PREF,
-                                  show_records_ready, c, c) != 0)
+                                  show_records_ready, c, c) == 0)
             {
                 yaz_log(c->http_sessions->log_level,
-                        "%p Session %u: Blocking on cmd_show. Waiting for preferred targets", s, s->session_id);
+                        "%p Session %u: Blocking on command show (preferred targets)", s, s->session_id);
+            }
+            else
+            {
+                yaz_log(YLOG_WARN, "Attempt to block multiple times on show (preferred targets) block. Not supported!");
+                error(rs, PAZPAR2_ALREADY_BLOCKED, "show (preferred targets)"); 
             }
             release_session(c, s);
             return;
@@ -997,7 +1079,12 @@ static void cmd_show(struct http_channel *c)
             if (session_set_watch(s->psession, SESSION_WATCH_SHOW,
                                   show_records_ready, c, c) != 0)
             {
-                yaz_log(c->http_sessions->log_level, "%p Session %u: Blocking on cmd_show", s, s->session_id);
+                yaz_log(YLOG_WARN, "Attempt to block multiple times on show block. Not supported!");
+                error(rs, PAZPAR2_ALREADY_BLOCKED, "show"); 
+            }
+            else
+            {
+                yaz_log(c->http_sessions->log_level, "%p Session %u: Blocking on command show", s, s->session_id);
             }
             release_session(c, s);
             return;
index 13bc314..1e1687e 100644 (file)
@@ -48,6 +48,7 @@ enum pazpar2_error_code {
     PAZPAR2_RECORD_FAIL,
     PAZPAR2_NOT_IMPLEMENTED,
     PAZPAR2_NO_SERVICE,
+    PAZPAR2_ALREADY_BLOCKED,
 
     PAZPAR2_LAST_ERROR
 };
@@ -75,7 +76,9 @@ struct session_database
 #define SESSION_WATCH_SHOW      0
 #define SESSION_WATCH_RECORD    1
 #define SESSION_WATCH_SHOW_PREF 2
-#define SESSION_WATCH_MAX       2
+#define SESSION_WATCH_TERMLIST  3
+#define SESSION_WATCH_BYTARGET  4
+#define SESSION_WATCH_MAX       4
 
 #define SESSION_MAX_TERMLISTS 10