/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ ///////////////////////////////////////////////////////// ///////////////////////////////////////////////////////// // THIS CODE IS AUTOGENERATED, DO NOT MODIFY ///////////////////////////////////////////////////////// ///////////////////////////////////////////////////////// #include "CloudGemComputeFarm_precompiled.h" #include "AWS/ServiceAPI/CloudGemComputeFarmClientComponent.h" namespace CloudGemComputeFarm { namespace ServiceAPI { const char* LmbrAWS_CodeGen_Component_UUID= "{163f52d9-bd91-4c0f-9bb3-87a96f9743f3}"; const char* LmbrAWS_CodeGen_ResponseHandler_UUID= "{b4835059-bbcf-4d53-b626-c236434a82bd}"; const char* LmbrAWS_CodeGen_NotificationBus1_UUID= "{fbfd3200-da62-4e8b-9419-b1daee86dcc7}"; const char* LmbrAWS_CodeGen_RequestBus1_UUID= "{36e233e1-1faf-4a94-97a3-dfaba5ae3106}"; const char* LmbrAWS_CodeGen_ExampleData_UUID= "{b0f959dc-d456-4773-a0ff-9e9d334c961a}"; const char* LmbrAWS_CodeGen_ServiceStatus_UUID= "{e049b496-35a4-4d7d-88f1-8a56d5cc511a}"; void Configure() { // Insert any necessary CloudGemFramework configuration here } // redefs bool WriteJson(CloudGemFramework::JsonWriter& writer, const int& item) { return writer.Int(item); } bool WriteJson(CloudGemFramework::JsonWriter& writer, const AZStd::string& item) { return writer.String(item); } bool WriteJson(CloudGemFramework::JsonWriter& writer, const double& item) { return writer.Double(item); } bool WriteJson(CloudGemFramework::JsonWriter& writer, const ExampleData& item) { bool ok = true; ok = ok && writer.StartObject(); ok = ok && writer.Key("ExamplePropertyB"); ok = ok && WriteJson(writer, item.ExamplePropertyB); ok = ok && writer.Key("ExamplePropertyA"); ok = ok && WriteJson(writer, item.ExamplePropertyA); ok = ok && writer.EndObject(); return ok; } bool WriteJson(CloudGemFramework::JsonWriter& writer, const ServiceStatus& item) { bool ok = true; ok = ok && writer.StartObject(); ok = ok && writer.Key("status"); ok = ok && WriteJson(writer, item.status); ok = ok && writer.EndObject(); return ok; } // Generated Function Parameters bool PostExampleRequest::Parameters::BuildRequest(CloudGemFramework::RequestBuilder& request) { bool ok = true; ok = ok && request.WriteJsonBodyParameter(*this); return ok; } bool PostExampleRequest::Parameters::WriteJson(CloudGemFramework::JsonWriter& writer) const { bool ok = true; ok = ok && CloudGemComputeFarm::ServiceAPI::WriteJson(writer, data); return ok; } bool GetExampleRequest::Parameters::BuildRequest(CloudGemFramework::RequestBuilder& request) { bool ok = true; ok = ok && request.WriteJsonBodyParameter(*this); return ok; } bool GetExampleRequest::Parameters::WriteJson(CloudGemFramework::JsonWriter& writer) const { bool ok = true; return ok; } bool GetServiceStatusRequest::Parameters::BuildRequest(CloudGemFramework::RequestBuilder& request) { bool ok = true; ok = ok && request.WriteJsonBodyParameter(*this); return ok; } bool GetServiceStatusRequest::Parameters::WriteJson(CloudGemFramework::JsonWriter& writer) const { bool ok = true; return ok; } // CloudGemComputeFarmNotificationBus void CloudGemComputeFarmNotifications::OnPostExampleRequestSuccess(const ExampleData response) { } void CloudGemComputeFarmNotifications::OnPostExampleRequestError(const CloudGemFramework::Error error) { } void CloudGemComputeFarmNotifications::OnGetExampleRequestSuccess(const ExampleData response) { } void CloudGemComputeFarmNotifications::OnGetExampleRequestError(const CloudGemFramework::Error error) { } void CloudGemComputeFarmNotifications::OnGetServiceStatusRequestSuccess(const ServiceStatus response) { } void CloudGemComputeFarmNotifications::OnGetServiceStatusRequestError(const CloudGemFramework::Error error) { } // BehaviorContext CloudGemComputeFarmNotificationBus handler implementation void BehaviorCloudGemComputeFarmNotificationBusHandler::OnPostExampleRequestSuccess(const ExampleData response) { Call(FN_OnPostExampleRequestSuccess, response); } void BehaviorCloudGemComputeFarmNotificationBusHandler::OnPostExampleRequestError(const CloudGemFramework::Error error) { Call(FN_OnPostExampleRequestError, error); } void BehaviorCloudGemComputeFarmNotificationBusHandler::OnGetExampleRequestSuccess(const ExampleData response) { Call(FN_OnGetExampleRequestSuccess, response); } void BehaviorCloudGemComputeFarmNotificationBusHandler::OnGetExampleRequestError(const CloudGemFramework::Error error) { Call(FN_OnGetExampleRequestError, error); } void BehaviorCloudGemComputeFarmNotificationBusHandler::OnGetServiceStatusRequestSuccess(const ServiceStatus response) { Call(FN_OnGetServiceStatusRequestSuccess, response); } void BehaviorCloudGemComputeFarmNotificationBusHandler::OnGetServiceStatusRequestError(const CloudGemFramework::Error error) { Call(FN_OnGetServiceStatusRequestError, error); } // CloudGemComputeFarmRequestBus void CloudGemComputeFarmRequests::PostExample(const ExampleData& data, CloudGemComputeFarmResponseHandler* responseHandler) { } void CloudGemComputeFarmRequests::GetExample(CloudGemComputeFarmResponseHandler* responseHandler) { } void CloudGemComputeFarmRequests::GetServiceStatus(CloudGemComputeFarmResponseHandler* responseHandler) { } // CloudGemComputeFarmResponseHandler void CloudGemComputeFarmResponseHandler::HandlePostExampleSuccess(PostExampleRequestJob* job, AZ::EntityId entityId) { EBUS_EVENT_ID(entityId, CloudGemComputeFarmNotificationBus, OnPostExampleRequestSuccess, job->result); } void CloudGemComputeFarmResponseHandler::HandlePostExampleError(PostExampleRequestJob* job, AZ::EntityId entityId) { EBUS_EVENT_ID(entityId, CloudGemComputeFarmNotificationBus, OnPostExampleRequestError, job->error); } void CloudGemComputeFarmResponseHandler::HandleGetExampleSuccess(GetExampleRequestJob* job, AZ::EntityId entityId) { EBUS_EVENT_ID(entityId, CloudGemComputeFarmNotificationBus, OnGetExampleRequestSuccess, job->result); } void CloudGemComputeFarmResponseHandler::HandleGetExampleError(GetExampleRequestJob* job, AZ::EntityId entityId) { EBUS_EVENT_ID(entityId, CloudGemComputeFarmNotificationBus, OnGetExampleRequestError, job->error); } void CloudGemComputeFarmResponseHandler::HandleGetServiceStatusSuccess(GetServiceStatusRequestJob* job, AZ::EntityId entityId) { EBUS_EVENT_ID(entityId, CloudGemComputeFarmNotificationBus, OnGetServiceStatusRequestSuccess, job->result); } void CloudGemComputeFarmResponseHandler::HandleGetServiceStatusError(GetServiceStatusRequestJob* job, AZ::EntityId entityId) { EBUS_EVENT_ID(entityId, CloudGemComputeFarmNotificationBus, OnGetServiceStatusRequestError, job->error); } // CloudGemComputeFarmClientComponent void CloudGemComputeFarmClientComponent::Init() { m_defaultResponseHandler = AZStd::make_shared(); CloudGemComputeFarm::ServiceAPI::Configure(); } void CloudGemComputeFarmClientComponent::Activate() { CloudGemComputeFarmRequestBus::Handler::BusConnect(m_entity->GetId()); } void CloudGemComputeFarmClientComponent::Deactivate() { CloudGemComputeFarmRequestBus::Handler::BusDisconnect(); } void CloudGemComputeFarmClientComponent::PostExample(const ExampleData& data, CloudGemComputeFarmResponseHandler* responseHandler) { // Cache our entityId in case the entity goes away AZ::EntityId entityId; if (m_entity) { entityId = m_entity->GetId(); } // Cache our default response handler in case this component goes away AZStd::shared_ptr < CloudGemComputeFarmResponseHandler > defaultResponseHandler = m_defaultResponseHandler; // Create job PostExampleRequestJob* requestJob = PostExampleRequestJob::Create( [responseHandler, defaultResponseHandler, entityId](PostExampleRequestJob* successJob) { // handle success CloudGemComputeFarmResponseHandler* successHandler = responseHandler ? responseHandler : defaultResponseHandler.get(); if (successHandler) { successHandler->HandlePostExampleSuccess(successJob, entityId); } }, [responseHandler, defaultResponseHandler, entityId](PostExampleRequestJob* failedJob) { // handle error CloudGemComputeFarmResponseHandler* failureHandler = responseHandler ? responseHandler : defaultResponseHandler.get(); if (failureHandler) { failureHandler->HandlePostExampleError(failedJob, entityId); } } ); requestJob->parameters.data = data; requestJob->Start(); } void CloudGemComputeFarmClientComponent::GetExample(CloudGemComputeFarmResponseHandler* responseHandler) { // Cache our entityId in case the entity goes away AZ::EntityId entityId; if (m_entity) { entityId = m_entity->GetId(); } // Cache our default response handler in case this component goes away AZStd::shared_ptr < CloudGemComputeFarmResponseHandler > defaultResponseHandler = m_defaultResponseHandler; // Create job GetExampleRequestJob* requestJob = GetExampleRequestJob::Create( [responseHandler, defaultResponseHandler, entityId](GetExampleRequestJob* successJob) { // handle success CloudGemComputeFarmResponseHandler* successHandler = responseHandler ? responseHandler : defaultResponseHandler.get(); if (successHandler) { successHandler->HandleGetExampleSuccess(successJob, entityId); } }, [responseHandler, defaultResponseHandler, entityId](GetExampleRequestJob* failedJob) { // handle error CloudGemComputeFarmResponseHandler* failureHandler = responseHandler ? responseHandler : defaultResponseHandler.get(); if (failureHandler) { failureHandler->HandleGetExampleError(failedJob, entityId); } } ); requestJob->Start(); } void CloudGemComputeFarmClientComponent::GetServiceStatus(CloudGemComputeFarmResponseHandler* responseHandler) { // Cache our entityId in case the entity goes away AZ::EntityId entityId; if (m_entity) { entityId = m_entity->GetId(); } // Cache our default response handler in case this component goes away AZStd::shared_ptr < CloudGemComputeFarmResponseHandler > defaultResponseHandler = m_defaultResponseHandler; // Create job GetServiceStatusRequestJob* requestJob = GetServiceStatusRequestJob::Create( [responseHandler, defaultResponseHandler, entityId](GetServiceStatusRequestJob* successJob) { // handle success CloudGemComputeFarmResponseHandler* successHandler = responseHandler ? responseHandler : defaultResponseHandler.get(); if (successHandler) { successHandler->HandleGetServiceStatusSuccess(successJob, entityId); } }, [responseHandler, defaultResponseHandler, entityId](GetServiceStatusRequestJob* failedJob) { // handle error CloudGemComputeFarmResponseHandler* failureHandler = responseHandler ? responseHandler : defaultResponseHandler.get(); if (failureHandler) { failureHandler->HandleGetServiceStatusError(failedJob, entityId); } } ); requestJob->Start(); } bool ExampleData::OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader) { if (strcmp(key, "ExamplePropertyB") == 0) return reader.Accept(ExamplePropertyB); if (strcmp(key, "ExamplePropertyA") == 0) return reader.Accept(ExamplePropertyA); return reader.Ignore(); } void ExampleData::Reflect(AZ::ReflectContext* reflection) { AZ::SerializeContext* serializeContext = azrtti_cast(reflection); if (serializeContext) { serializeContext->Class() ->Version(1); } AZ::BehaviorContext* behaviorContext = azrtti_cast(reflection); if (behaviorContext) { behaviorContext->Class("CloudGemComputeFarm_ExampleData") ->Attribute(AZ::Script::Attributes::Storage, AZ::Script::Attributes::StorageType::Value) ->Property("ExamplePropertyB", BehaviorValueProperty(&ExampleData::ExamplePropertyB)) ->Property("ExamplePropertyA", BehaviorValueProperty(&ExampleData::ExamplePropertyA)) ; } } bool ServiceStatus::OnJsonKey(const char* key, CloudGemFramework::JsonReader& reader) { if (strcmp(key, "status") == 0) return reader.Accept(status); return reader.Ignore(); } void ServiceStatus::Reflect(AZ::ReflectContext* reflection) { AZ::SerializeContext* serializeContext = azrtti_cast(reflection); if (serializeContext) { serializeContext->Class() ->Version(1); } AZ::BehaviorContext* behaviorContext = azrtti_cast(reflection); if (behaviorContext) { behaviorContext->Class("CloudGemComputeFarm_ServiceStatus") ->Attribute(AZ::Script::Attributes::Storage, AZ::Script::Attributes::StorageType::Value) ->Property("status", BehaviorValueProperty(&ServiceStatus::status)) ; } } } }