/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <dali-toolkit/internal/controls/scene3d-view/gltf-shader.h>
// EXTERNAL INCLUDES
-#include <fstream>
#include <dali/integration-api/debug.h>
#include <dali/devel-api/adaptor-framework/image-loading.h>
-#include <dali/devel-api/adaptor-framework/file-loader.h>
+#include <dali/devel-api/adaptor-framework/file-stream.h>
namespace Dali
{
template <typename T>
bool ReadBinFile( Vector<T> &dataBuffer, std::string url, int32_t offset, int32_t count )
{
- dataBuffer.Resize( count );
- FILE* fp = fopen( url.c_str(), "rb" );
- if( fp == NULL )
+ Dali::FileStream fileStream( url, FileStream::READ | FileStream::BINARY );
+ FILE* fp = fileStream.GetFile();
+ if( !fp )
{
return false;
}
+
+ dataBuffer.Resize( count );
ssize_t result = -1;
if( !fseek( fp, offset, SEEK_SET ) )
{
result = fread( &dataBuffer[0], sizeof( T ), count, fp );
}
- fclose( fp );
return ( result >= 0 );
}
bool Loader::ParseGltf( const std::string& filePath )
{
- std::ifstream fileStream( filePath.c_str() );
- std::string fileBuffer( ( std::istreambuf_iterator<char>( fileStream ) ),
- ( std::istreambuf_iterator<char>() ) );
- mParser = Dali::Toolkit::JsonParser::New();
+ std::streampos bufferSize = 0;
+ Dali::Vector<char> buffer;
+ std::string fileBuffer;
+ if( !Dali::FileLoader::ReadFile( filePath, bufferSize, buffer, FileLoader::FileType::BINARY ) )
+ {
+ return false;
+ }
+ fileBuffer.assign( &buffer[0], bufferSize );
+ mParser = Dali::Toolkit::JsonParser::New();
return mParser.Parse( fileBuffer );
}