2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 #include "resource-thread-shader.h"
21 #include <dali/integration-api/debug.h>
22 #include <dali/integration-api/shader-data.h>
24 using namespace Dali::Integration;
26 using boost::unique_lock;
31 namespace TizenPlatform
34 ResourceThreadShader::ResourceThreadShader(ResourceLoader& resourceLoader)
35 : ResourceThreadBase(resourceLoader)
39 ResourceThreadShader::~ResourceThreadShader()
43 void ResourceThreadShader::Load(const ResourceRequest& request)
45 // fake successfull load as this is dead code
46 // Construct LoadedResource and ResourcePointer for shader data
47 LoadedResource resource( request.GetId(), request.GetType()->id, ResourcePointer() );
49 // Queue the loaded resource
50 mResourceLoader.AddLoadedResource(resource);
53 void ResourceThreadShader::Save(const ResourceRequest& request)
55 DALI_ASSERT_DEBUG(request.GetType()->id == ResourceShader);
57 DALI_LOG_INFO(mLogFilter, Debug::Verbose, "ResourceThreadShader::Save(%s)\n", request.GetPath().c_str());
61 ShaderDataPtr shaderData( reinterpret_cast< ShaderData* >(request.GetResource().Get()) );
63 FILE *fp = fopen(request.GetPath().c_str(), "wb");
66 fwrite( shaderData->GetBufferData(), shaderData->GetBufferSize(), 1, fp );
72 DALI_LOG_INFO(mLogFilter, Debug::Verbose, "ResourceThreadShader::Save(%s) - succeeded, wrote %d bytes\n",
73 request.GetPath().c_str(), shaderData->GetBufferSize());
77 DALI_LOG_WARNING("**Failed** to save \"%s\"\n", request.GetPath().c_str());
83 // Construct LoadedResource and ResourcePointer for image data
84 SavedResource resource( request.GetId(), request.GetType()->id );
86 // Queue the loaded resource
87 mResourceLoader.AddSavedResource(resource);
91 // add to the failed queue
92 FailedResource resource(request.GetId(), FailureUnknown);
93 mResourceLoader.AddFailedSave(resource);
98 } // namespace TizenPlatform