PhoenixServicesClient.h #11

  • //
  • guest/
  • tjuricek/
  • p4ws/
  • stream/
  • main/
  • qt/
  • p4_phoenix_services_client/
  • phoenix/
  • PhoenixServicesClient.h
  • Commits
# Change User Description Committed
#11 13266 tjuricek Reorganized depot to avoid stream/main in path.

This may be re-imported.
#10 13242 tjuricek Qt SDK: Add constructor that uses an application's QSettings for caching Sessions for each URL

Added a simple validateSession remote call to ping the services instance to see if the session is indeed usable.

Also, removing puma configuraiton that is automatically generated in the (shared) development instance.
#9 13216 tjuricek Change to a C++03 build.

Major changes:

1. QSharedPointer::create(...) is much more restricted than in C++11, so just use the .reset() method unless you're passing in a single const reference argument to the constructor.

2. Using Qt's foreach.

3. Replace lambdas with simpler helper methods. This seems to work, but we may have subtle memory issues I'm not 100% on top of yet.
#8 13211 tjuricek Adding a space to separate out the template declaration parameters.

Doesn't seem to be an issue with gcc, this must be a visual studio issue.
#7 13207 tjuricek Follow QObject memory management conventions for the PhoenixServicesClient.
#6 13193 tjuricek Typedef that struct.
#5 13181 tjuricek Define some JSON messages for Qt API's websocket interaction.

Not tested... yet.
#4 13180 tjuricek Phoenix notification services, client API, including new phoenix_updater

This is an interim commit containing a first pass implementation of the phoenix_updater. Notably missing parts:

- The Qt API doesn't yet actually interact with the phoenix_updater
- The phoenix_services web service doesn't filter out notifications

I *may* end up creating another web application *just* to filter out notifications, since this may end up taking up a lot of background workers.
#3 13169 tjuricek Return the created project when creating a new project, since default values will often be filled out.

Allow new projects to be created only with names set. We'll generate an ID at the moment, when I have better indexing, I'll double check for uniqueness.
#2 13168 tjuricek Revising P4 Web API docbook documentation to become the Perforce Web Services guide.

Right now this is just focused on the Qt SDK. The remaining protocol documentation, etc, will happen eventually.
#1 13153 tjuricek Reorganized the Qt libraries into a separate part of the tree, to make it easier for CMake configuration.

Added 'qt_build' and 'qt_test' tasks to at least execute tests and fail the build if they don't pass.

Started the implementation of the project library interaction.
Change: 1018651

Date: 3/4/15 11:43 AM

Client: tjuricek_dhcp-141-n100_5959

User: tjuricek

Status: pending

Type: public

Description:
Reorganized the Qt libraries into a separate part of the tree, to make it easier for CMake configuration.

Added 'qt_build' and 'qt_test' tasks to at least execute tests and fail the build if they don't pass.

Started the implementation of the project library interaction.


JobStatus:

Jobs:


Files:
//web-services/p4ws-main/Rakefile
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/CMakeLists.txt
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/PhoenixIntegrationTests.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/README
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixProject.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixProject.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/RequestError.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/RequestError.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/Session.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/Session.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.h
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/SessionTests.cpp
//web-services/p4ws-main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/test/SessionTests.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/CMakeLists.txt
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Branch.cpp
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Branch.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Project.cpp
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/Project.h
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/View.cpp
//web-services/p4ws-main/p4_project_services/clients/qt/p4_project_services_client/p4_project_services/View.h
//web-services/p4ws-main/qt/CMakeLists.txt
//web-services/p4ws-main/qt/p4_phoenix_services_client/CMakeLists.txt
//web-services/p4ws-main/qt/p4_phoenix_services_client/PhoenixIntegrationTests.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/README
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixProject.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixProject.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/RequestError.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/RequestError.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/Session.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/phoenix/Session.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/PhoenixServicesClientTests.h
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/SessionTests.cpp
//web-services/p4ws-main/qt/p4_phoenix_services_client/test/SessionTests.h
//web-services/p4ws-main/qt/p4_project_services_client/CMakeLists.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeCache.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeCCompiler.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeCXXCompiler.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeDetermineCompilerABI_C.bin
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeDetermineCompilerABI_CXX.bin
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CMakeSystem.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdC/CMakeCCompilerId.c
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdC/a.out
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdCXX/CMakeCXXCompilerId.cpp
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/2.8.12/CompilerIdCXX/a.out
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/CMakeDirectoryInformation.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/CMakeOutput.log
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/Makefile.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/Makefile2
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/TargetDirectories.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/cmake.check_cache
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/DependInfo.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/build.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/cmake_clean.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/cmake_clean_target.cmake
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/depend.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/flags.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/link.txt
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/p4_project_services_client.dir/progress.make
//web-services/p4ws-main/qt/p4_project_services_client/build/CMakeFiles/progress.marks
//web-services/p4ws-main/qt/p4_project_services_client/build/Makefile
//web-services/p4ws-main/qt/p4_project_services_client/build/cmake_install.cmake
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services.h
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Branch.cpp
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Branch.h
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Project.cpp
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/Project.h
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/View.cpp
//web-services/p4ws-main/qt/p4_project_services_client/p4_project_services/View.h
//guest/tjuricek/p4ws/stream/main/p4_phoenix_services/clients/qt/p4_phoenix_services_client/phoenix/PhoenixServicesClient.h
#4 13149 tjuricek Added a *very trivial* logIn implementation.

This just makes the *current* POST request to /p4_phoenix_services/v1/sessions, which *does not* include the ability to create a host locked P4 ticket for the user. So it's not quite usable yet. But, I've made several tweaks to the API which should be stablizing.
#3 13145 tjuricek Added framework for QtTest to the p4_phoenix_services qt client (and fixing stupid compile errors).

Also, ignoring .DS_Store.
#2 13135 tjuricek Fixing crappy-ass whitespace
#1 13134 tjuricek First-pass at Qt Client API for Phoenix web services.

The underlying project data is organized as the basic 'p4_project_services' API, which is then used by the higher-level 'phoenix' API, just to cut down on a lot of potential boiler plate. The base project model should allow for custom extensions, but it's aniticpated that the product-specific stuff doesn't really need to care too much about this. We just need to make sure that if new product extensions exist that the C++ API doesn't know about, they: a.) don't explode on read because there's something new, and b.) don't just delete the extension code.

These are *just headers* to get the ball rolling on the needs of the Phoenix engine. Things like 'sessions' are interesting and may have been overlooked.