(Platform Abstraction) Replace GetMicroSeconds with GetNanoseconds 42/51242/2
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Thu, 5 Nov 2015 15:19:12 +0000 (15:19 +0000)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Thu, 5 Nov 2015 16:24:02 +0000 (16:24 +0000)
Change-Id: Ice276d5ff236f7988e100845895db82694ca8661

automated-tests/src/dali/dali-test-suite-utils/test-application.cpp
automated-tests/src/dali/dali-test-suite-utils/test-application.h
automated-tests/src/dali/dali-test-suite-utils/test-platform-abstraction.cpp
automated-tests/src/dali/dali-test-suite-utils/test-platform-abstraction.h
dali/integration-api/platform-abstraction.h

index 5d17a1d..60d7b6e 100644 (file)
@@ -32,7 +32,7 @@ TestApplication::TestApplication( size_t surfaceWidth,
   mFrame( 0u ),
   mDpi( horizontalDpi, verticalDpi ),
   mLastVSyncTime(0u),
-  mDataRetentionPolicy(policy)
+  mDataRetentionPolicy( policy )
 {
   Initialize();
 }
@@ -153,9 +153,9 @@ void TestApplication::SetSurfaceWidth( unsigned int width, unsigned height )
 
 void TestApplication::DoUpdate( unsigned int intervalMilliseconds )
 {
-  unsigned int seconds(0u), microseconds(0u);
-  mPlatformAbstraction.GetTimeMicroseconds( seconds, microseconds );
-  mLastVSyncTime = ( seconds * 1e3 ) + ( microseconds / 1e3 );
+  uint64_t seconds(0u), nanoseconds(0u);
+  mPlatformAbstraction.GetTimeNanoseconds( seconds, nanoseconds );
+  mLastVSyncTime = ( seconds * 1e3 ) + ( nanoseconds / 1e6 );
   unsigned int nextVSyncTime = mLastVSyncTime + 16;
 
   // Update Time values
index ed33f52..3f61b93 100644 (file)
@@ -26,7 +26,6 @@
 #include "test-render-controller.h"
 #include <dali/public-api/common/dali-common.h>
 #include <dali/integration-api/resource-policies.h>
-#include <dali/integration-api/debug.h>
 
 namespace Dali
 {
index 95082fd..5ece3f1 100644 (file)
 namespace Dali
 {
 
-/**
- * Constructor
- */
+namespace
+{
+const unsigned int NANOSECONDS_PER_MILLISECOND = 1000000u;
+const unsigned int NANOSECONDS_PER_SECOND = 1000000000u;
+}
+
 TestPlatformAbstraction::TestPlatformAbstraction()
 : mTrace(),
   mSeconds( 0u ),
-  mMicroSeconds( 0u ),
+  mNanoSeconds( 0u ),
   mIsLoadingResult( false ),
-  mGetDefaultFontFamilyResult(),
-  mGetDefaultFontStyleResult(),
   mGetDefaultFontSizeResult( 0 ),
   mResources(),
   mRequest( NULL ),
@@ -43,34 +44,22 @@ TestPlatformAbstraction::TestPlatformAbstraction()
   Initialize();
 }
 
-/**
- * Destructor
- */
 TestPlatformAbstraction::~TestPlatformAbstraction()
 {
 }
 
-/**
- * @copydoc PlatformAbstraction::GetTimeMicroseconds()
- */
-void TestPlatformAbstraction::GetTimeMicroseconds(unsigned int &seconds, unsigned int &microSeconds)
+void TestPlatformAbstraction::GetTimeNanoseconds( uint64_t& seconds, uint64_t& nanoseconds )
 {
   seconds = mSeconds;
-  microSeconds = mMicroSeconds;
-  mTrace.PushCall("GetTimeMicroseconds", "");
+  nanoseconds = mNanoSeconds;
+  mTrace.PushCall("GetTimeNanoseconds", "");
 }
 
-/**
- * @copydoc PlatformAbstraction::Suspend()
- */
 void TestPlatformAbstraction::Suspend()
 {
   mTrace.PushCall("Suspend", "");
 }
 
-/**
- * @copydoc PlatformAbstraction::Resume()
- */
 void TestPlatformAbstraction::Resume()
 {
   mTrace.PushCall("Resume", "");
@@ -98,10 +87,6 @@ ImageDimensions TestPlatformAbstraction::GetClosestImageSize( Integration::Resou
   return closestSize;
 }
 
-
-/**
- * @copydoc PlatformAbstraction::LoadResource()
- */
 void TestPlatformAbstraction::LoadResource(const Integration::ResourceRequest& request)
 {
   std::ostringstream out;
@@ -128,17 +113,11 @@ Integration::BitmapPtr TestPlatformAbstraction::DecodeBuffer( const Integration:
   return Integration::BitmapPtr();
 }
 
-/**
- * @copydoc PlatformAbstraction::CancelLoad()
- */
 void TestPlatformAbstraction::CancelLoad(Integration::ResourceId id, Integration::ResourceTypeId typeId)
 {
   mTrace.PushCall("CancelLoad", "");
 }
 
-/**
- * @copydoc PlatformAbstraction::GetResources()
- */
 void TestPlatformAbstraction::GetResources(Integration::ResourceCache& cache)
 {
   mTrace.PushCall("GetResources", "");
@@ -153,35 +132,23 @@ void TestPlatformAbstraction::GetResources(Integration::ResourceCache& cache)
   }
 }
 
-/**
- * @copydoc PlatformAbstraction::IsLoading()
- */
 bool TestPlatformAbstraction::IsLoading()
 {
   mTrace.PushCall("IsLoading", "");
   return mIsLoadingResult;
 }
 
-/**
- * @copydoc PlatformAbstraction::GetDefaultFontSize()
- */
 int TestPlatformAbstraction::GetDefaultFontSize() const
 {
   mTrace.PushCall("GetDefaultFontSize", "");
   return mGetDefaultFontSizeResult;
 }
 
-/**
- * @copydoc PlatformAbstraction::SetDpi()
- */
 void TestPlatformAbstraction::SetDpi (unsigned int dpiHorizontal, unsigned int dpiVertical)
 {
   mTrace.PushCall("SetDpi", "");
 }
 
-/**
- * @copydoc PlatformAbstraction::LoadFile()
- */
 bool TestPlatformAbstraction::LoadFile( const std::string& filename, Dali::Vector< unsigned char >& buffer ) const
 {
   mTrace.PushCall("LoadFile", "");
@@ -193,9 +160,6 @@ bool TestPlatformAbstraction::LoadFile( const std::string& filename, Dali::Vecto
   return mLoadFileResult.loadResult;
 }
 
-/**
- * @copydoc PlatformAbstraction::LoadShaderBinaryFile()
- */
 bool TestPlatformAbstraction::LoadShaderBinaryFile( const std::string& filename, Dali::Vector< unsigned char >& buffer ) const
 {
   mTrace.PushCall("LoadShaderBinaryFile", "");
@@ -207,9 +171,6 @@ bool TestPlatformAbstraction::LoadShaderBinaryFile( const std::string& filename,
   return mLoadFileResult.loadResult;
 }
 
-/**
- * @copydoc PlatformAbstraction::SaveFile()
- */
 bool TestPlatformAbstraction::SaveFile(const std::string& filename, const unsigned char * buffer, unsigned int numBytes ) const
 {
   mTrace.PushCall("SaveFile", "");
@@ -228,7 +189,7 @@ void TestPlatformAbstraction::Initialize()
   mTrace.Enable(true);
   memset(&mResources, 0, sizeof(Resources));
   mSeconds=0;
-  mMicroSeconds=0;
+  mNanoSeconds=0;
   mIsLoadingResult=false;
 
   if(mRequest)
@@ -242,11 +203,13 @@ bool TestPlatformAbstraction::WasCalled(TestFuncEnum func)
 {
   switch(func)
   {
-    case GetTimeMicrosecondsFunc:             return mTrace.FindMethod("GetTimeMicroseconds");
+    case GetTimeNanosecondsFunc:              return mTrace.FindMethod("GetTimeNanoseconds");
     case SuspendFunc:                         return mTrace.FindMethod("Suspend");
     case ResumeFunc:                          return mTrace.FindMethod("Resume");
     case LoadResourceFunc:                    return mTrace.FindMethod("LoadResource");
     case LoadFileFunc:                        return mTrace.FindMethod("LoadFile");
+    case LoadShaderBinaryFileFunc:            return mTrace.FindMethod("LoadShaderBinaryFile");
+    case SaveShaderBinaryFileFunc:            return mTrace.FindMethod("SaveShaderBinaryFile");
     case SaveFileFunc:                        return mTrace.FindMethod("SaveFile");
     case CancelLoadFunc:                      return mTrace.FindMethod("CancelLoad");
     case GetResourcesFunc:                    return mTrace.FindMethod("GetResources");
@@ -257,19 +220,19 @@ bool TestPlatformAbstraction::WasCalled(TestFuncEnum func)
   return false;
 }
 
-void TestPlatformAbstraction::SetGetTimeMicrosecondsResult(size_t sec, size_t usec)
+void TestPlatformAbstraction::SetGetTimeNanosecondsResult(size_t sec, size_t nsec)
 {
   mSeconds = sec;
-  mMicroSeconds = usec;
+  mNanoSeconds = nsec;
 }
 
 void TestPlatformAbstraction::IncrementGetTimeResult(size_t milliseconds)
 {
-  mMicroSeconds += milliseconds * 1000u;
-  unsigned int additionalSeconds = mMicroSeconds / 1000000u;
+  mNanoSeconds += milliseconds * NANOSECONDS_PER_MILLISECOND;
+  unsigned int additionalSeconds = mNanoSeconds / NANOSECONDS_PER_SECOND;
 
   mSeconds += additionalSeconds;
-  mMicroSeconds -= additionalSeconds * 1000000u;
+  mNanoSeconds -= additionalSeconds * NANOSECONDS_PER_SECOND;
 }
 
 void TestPlatformAbstraction::SetIsLoadingResult(bool result)
index 9408801..b1fb01b 100644 (file)
@@ -74,9 +74,9 @@ public:
   virtual ~TestPlatformAbstraction();
 
   /**
-   * @copydoc PlatformAbstraction::GetTimeMicroseconds()
+   * @copydoc PlatformAbstraction::GetTimeNanoseconds()
    */
-  virtual void GetTimeMicroseconds(unsigned int &seconds, unsigned int &microSeconds);
+  virtual void GetTimeNanoseconds( uint64_t& seconds, uint64_t& nanoseconds );
 
   /**
    * @copydoc PlatformAbstraction::Suspend()
@@ -88,12 +88,18 @@ public:
    */
   virtual void Resume();
 
+  /**
+   * @copydoc PlatformAbstraction::GetClosestImageSize()
+   */
   virtual ImageDimensions GetClosestImageSize( const std::string& filename,
                                                  ImageDimensions size,
                                                  FittingMode::Type fittingMode,
                                                  SamplingMode::Type samplingMode,
                                                  bool orientationCorrection );
 
+  /**
+   * @copydoc PlatformAbstraction::GetClosestImageSize()
+   */
   virtual ImageDimensions GetClosestImageSize( Integration::ResourcePointer resourceBuffer,
                                                ImageDimensions size,
                                                FittingMode::Type fittingMode,
@@ -158,7 +164,7 @@ public:
  /**
   * @copydoc PlatformAbstraction::SaveShaderBinaryFile()
   */
-  virtual bool SaveShaderBinaryFile( const std::string& filename, const unsigned char * buffer, unsigned int numBytes ) const { return false; }
+  virtual bool SaveShaderBinaryFile( const std::string& filename, const unsigned char * buffer, unsigned int numBytes ) const { return true; }
 
   virtual void JoinLoaderThreads();
 
@@ -167,12 +173,14 @@ public: // TEST FUNCTIONS
   // Enumeration of Platform Abstraction methods
   typedef enum
   {
-    GetTimeMicrosecondsFunc,
+    GetTimeNanosecondsFunc,
     SuspendFunc,
     ResumeFunc,
     LoadResourceFunc,
     SaveFileFunc,
     LoadFileFunc,
+    LoadShaderBinaryFileFunc,
+    SaveShaderBinaryFileFunc,
     CancelLoadFunc,
     GetResourcesFunc,
     IsLoadingFunc,
@@ -189,12 +197,14 @@ public: // TEST FUNCTIONS
 
   bool WasCalled(TestFuncEnum func);
 
-  void SetGetTimeMicrosecondsResult(size_t sec, size_t usec);
+  void SetGetTimeNanosecondsResult(size_t sec, size_t nsec);
 
   void IncrementGetTimeResult(size_t milliseconds);
 
   void SetIsLoadingResult(bool result);
 
+  void SetGetDefaultFontSizeResult(float result);
+
   void ClearReadyResources();
 
   void SetResourceLoaded(Integration::ResourceId  loadedId,
@@ -216,11 +226,9 @@ public: // TEST FUNCTIONS
 
 private:
   mutable TraceCallStack        mTrace;
-  size_t                        mSeconds;
-  size_t                        mMicroSeconds;
+  uint64_t                      mSeconds;
+  uint64_t                      mNanoSeconds;
   bool                          mIsLoadingResult;
-  std::string                   mGetDefaultFontFamilyResult;
-  std::string                   mGetDefaultFontStyleResult;
   int                           mGetDefaultFontSizeResult;
   Resources                     mResources;
   Integration::ResourceRequest* mRequest;
index 0cb64a1..24d3139 100644 (file)
@@ -40,19 +40,22 @@ class PlatformAbstraction
 {
 public:
 
+  /**
+   * Virtual destructor.
+   */
   virtual ~PlatformAbstraction() {}
 
-  // Dali Lifecycle
+  // Time
 
   /**
-   * Get the monotonic time since an unspecified reference point.
-   * This is used by Dali to calculate time intervals during animations; the interval is
-   * recalculated when Dali is resumed with Dali::Integration::Core::Resume().
-   * Multi-threading note: this method may be called from either the main or rendering thread.
+   * Get the monotonic time since an unspecified reference point with more precision.
+   * Multi-threading note: this method may be called from any thread.
    * @param[out] seconds The time in seconds since the reference point.
-   * @param[out] microSeconds The remainder in microseconds.
+   * @param[out] nanoseconds The remainder in nanoseconds.
    */
-  virtual void GetTimeMicroseconds(unsigned int& seconds, unsigned int& microSeconds) = 0;
+  virtual void GetTimeNanoseconds( uint64_t& seconds, uint64_t& nanoseconds ) = 0;
+
+  // DALi Lifecycle
 
   /**
    * Tell the platform abstraction that Dali is ready to pause, such as when the