Introduce common service client

In preparation for making common service access information
such as the maximum request length or supported serializations,
a common service client has been introduced that standardizes
common client state, including any available service access
info.  All clients refactored to use the common service client.

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: I31336901476f5647d2ed00294716940f475da08c
diff --git a/deployments/component-test/component-test.cmake b/deployments/component-test/component-test.cmake
index 553b21a..4065ab3 100644
--- a/deployments/component-test/component-test.cmake
+++ b/deployments/component-test/component-test.cmake
@@ -32,6 +32,7 @@
 		"components/rpc/dummy"
 		"components/service/common/include"
 		"components/service/common/serializer/protobuf"
+		"components/service/common/client"
 		"components/service/common/provider"
 		"components/service/common/provider/test"
 		"components/service/locator"
diff --git a/deployments/crypto/opteesp/CMakeLists.txt b/deployments/crypto/opteesp/CMakeLists.txt
index f23a51d..6b8246c 100644
--- a/deployments/crypto/opteesp/CMakeLists.txt
+++ b/deployments/crypto/opteesp/CMakeLists.txt
@@ -43,6 +43,7 @@
 		"components/rpc/common/caller"
 		"components/rpc/common/interface"
 		"components/service/common/include"
+		"components/service/common/client"
 		"components/service/common/serializer/protobuf"
 		"components/service/common/provider"
 		"components/service/crypto/provider"
diff --git a/deployments/env-test/env_test.cmake b/deployments/env-test/env_test.cmake
index a983b60..87a3298 100644
--- a/deployments/env-test/env_test.cmake
+++ b/deployments/env-test/env_test.cmake
@@ -24,6 +24,7 @@
 	"components/rpc/common/interface"
 	"components/rpc/common/caller"
 	"components/service/common/include"
+	"components/service/common/client"
 	"components/service/common/provider"
 	"components/service/test_runner/provider"
 	"components/service/test_runner/provider/serializer/packed-c"
diff --git a/deployments/libts/linux-pc/CMakeLists.txt b/deployments/libts/linux-pc/CMakeLists.txt
index 4b97a1a..d15dc76 100644
--- a/deployments/libts/linux-pc/CMakeLists.txt
+++ b/deployments/libts/linux-pc/CMakeLists.txt
@@ -34,6 +34,7 @@
 		"components/common/endian"
 		"components/config/ramstore"
 		"components/service/common/include"
+		"components/service/common/client"
 		"components/service/common/serializer/protobuf"
 		"components/service/common/provider"
 		"components/service/locator/standalone"
@@ -143,6 +144,7 @@
 		"components/service/crypto/client/cpp/protobuf"
 		"components/service/crypto/client/cpp/packed-c"
 		"components/service/common/serializer/protobuf"
+		"components/service/common/client"
 		"protocols/service/crypto/protobuf"
 		"protocols/service/crypto/packed-c"
 )
diff --git a/deployments/platform-inspect/platform-inspect.cmake b/deployments/platform-inspect/platform-inspect.cmake
index a8952f4..ef4ba4b 100644
--- a/deployments/platform-inspect/platform-inspect.cmake
+++ b/deployments/platform-inspect/platform-inspect.cmake
@@ -29,6 +29,7 @@
 		"components/app/platform-inspect"
 		"components/common/tlv"
 		"components/common/cbor_dump"
+		"components/service/common/client"
 		"components/service/common/include"
 		"components/service/attestation/include"
 		"components/service/attestation/client/psa"
diff --git a/deployments/protected-storage/opteesp/CMakeLists.txt b/deployments/protected-storage/opteesp/CMakeLists.txt
index 740553b..b152519 100644
--- a/deployments/protected-storage/opteesp/CMakeLists.txt
+++ b/deployments/protected-storage/opteesp/CMakeLists.txt
@@ -37,6 +37,7 @@
 		components/rpc/ffarpc/caller/sp
 		components/rpc/common/caller
 		components/service/common/include
+		components/service/common/client
 		components/service/common/provider
 		components/service/secure_storage/include
 		components/service/secure_storage/frontend/secure_storage_provider
diff --git a/deployments/psa-api-test/psa-api-test.cmake b/deployments/psa-api-test/psa-api-test.cmake
index a1262c2..0a84c65 100644
--- a/deployments/psa-api-test/psa-api-test.cmake
+++ b/deployments/psa-api-test/psa-api-test.cmake
@@ -27,6 +27,7 @@
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
 		"components/common/tlv"
+		"components/service/common/client"
 		"components/service/common/include"
 		"components/rpc/common/caller"
 		"components/rpc/common/logging"
diff --git a/deployments/sfs-demo/opteesp/CMakeLists.txt b/deployments/sfs-demo/opteesp/CMakeLists.txt
index 47f4e9a..acb1116 100644
--- a/deployments/sfs-demo/opteesp/CMakeLists.txt
+++ b/deployments/sfs-demo/opteesp/CMakeLists.txt
@@ -35,6 +35,7 @@
 		components/rpc/common/caller
 		components/rpc/ffarpc/caller/sp
 		components/service/common/include
+		components/service/common/client
 		components/service/secure_storage/include
 		components/service/secure_storage/frontend/psa/its
 		components/service/secure_storage/backend/secure_storage_client
diff --git a/deployments/ts-demo/ts-demo.cmake b/deployments/ts-demo/ts-demo.cmake
index 05a9c9f..3231eb6 100644
--- a/deployments/ts-demo/ts-demo.cmake
+++ b/deployments/ts-demo/ts-demo.cmake
@@ -37,6 +37,8 @@
 	COMPONENTS
 		"components/app/ts-demo"
 		"components/common/tlv"
+		"components/service/common/include"
+		"components/service/common/client"
 		"components/service/crypto/client/cpp"
 		"components/service/crypto/client/cpp/packed-c"
 		"protocols/service/crypto/packed-c"
diff --git a/deployments/ts-remote-test/ts-remote-test.cmake b/deployments/ts-remote-test/ts-remote-test.cmake
index 7e5b286..0f35bb2 100644
--- a/deployments/ts-remote-test/ts-remote-test.cmake
+++ b/deployments/ts-remote-test/ts-remote-test.cmake
@@ -37,6 +37,8 @@
 	COMPONENTS
 		"components/app/remote-test-runner"
 		"components/common/tlv"
+		"components/service/common/include"
+		"components/service/common/client"
 		"components/service/test_runner/client/cpp"
 )
 
@@ -47,4 +49,4 @@
 if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
 	set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
 endif()
-install(TARGETS ts-remote-test RUNTIME DESTINATION bin)
\ No newline at end of file
+install(TARGETS ts-remote-test RUNTIME DESTINATION bin)
diff --git a/deployments/ts-service-test/ts-service-test.cmake b/deployments/ts-service-test/ts-service-test.cmake
index f56ac01..9b72089 100644
--- a/deployments/ts-service-test/ts-service-test.cmake
+++ b/deployments/ts-service-test/ts-service-test.cmake
@@ -28,6 +28,7 @@
 	BASE_DIR ${TS_ROOT}
 	COMPONENTS
 		"components/common/tlv"
+		"components/service/common/client"
 		"components/service/common/include"
 		"components/service/crypto/include"
 		"components/service/crypto/test/service"