Pepper_47_C++_interfaces
Public Member Functions | Friends | List of all members
pp::Core Class Reference

APIs related to memory management, time, and threads. More...

#include <core.h>

Collaboration diagram for pp::Core:
Collaboration graph

Public Member Functions

void AddRefResource (PP_Resource resource)
 
void ReleaseResource (PP_Resource resource)
 
PP_Time GetTime ()
 
PP_TimeTicks GetTimeTicks ()
 
void CallOnMainThread (int32_t delay_in_milliseconds, const CompletionCallback &callback, int32_t result=0)
 
bool IsMainThread ()
 

Friends

class Module
 

Detailed Description

APIs related to memory management, time, and threads.

Definition at line 19 of file core.h.

Member Function Documentation

void pp::Core::AddRefResource ( PP_Resource  resource)
inline
void pp::Core::CallOnMainThread ( int32_t  delay_in_milliseconds,
const CompletionCallback callback,
int32_t  result = 0 
)

CallOnMainThread() schedules work to be executed on the main pepper thread after the specified delay. The delay may be 0 to specify a call back as soon as possible.

The |result| parameter will just be passed as the second argument to the callback. Many applications won't need this, but it allows a module to emulate calls of some callbacks which do use this value.

Note: CallOnMainThread(), even when used from the main thread with a delay of 0 milliseconds, will never directly invoke the callback. Even in this case, the callback will be scheduled asynchronously.

Note: If the browser is shutting down or if the module has no instances, then the callback function may not be called.

Parameters
[in]delay_in_millisecondsAn int32_t delay in milliseconds.
[in]callbackA CompletionCallback callback function that the browser will call after the specified delay.
[in]resultAn int32_t that the browser will pass to the given CompletionCallback.

Definition at line 13 of file core.cc.

References pp::CompletionCallback::pp_completion_callback().

Referenced by pp::CompletionCallback::MayForce().

PP_Time pp::Core::GetTime ( )
inline

GetTime() returns the "wall clock time" according to the browser.

Returns
A PP_Time containing the "wall clock time" according to the browser.

Definition at line 50 of file core.h.

PP_TimeTicks pp::Core::GetTimeTicks ( )
inline

GetTimeTicks() returns the "tick time" according to the browser. This clock is used by the browser when passing some event times to the module (for example, using the PP_InputEvent::time_stamp_seconds field). It is not correlated to any actual wall clock time (like GetTime()). Because of this, it will not change if the user changes their computer clock.

Returns
A PP_TimeTicks containing the "tick time" according to the browser.

Definition at line 63 of file core.h.

bool pp::Core::IsMainThread ( )

IsMainThread() returns true if the current thread is the main pepper thread.

This function is useful for implementing sanity checks, and deciding if dispatching using CallOnMainThread() is required.

Returns
true if the current thread is the main pepper thread, otherwise false.

Definition at line 21 of file core.cc.

void pp::Core::ReleaseResource ( PP_Resource  resource)
inline

ReleaseResource() decrements the reference count for the provided resource. The resource will be deallocated if the reference count reaches zero.

Parameters
[in]resourceA PP_Resource corresponding to a resource.

Definition at line 41 of file core.h.

Referenced by pp::Resource::Clear(), pp::Resource::operator=(), pp::DirectoryEntry::operator=(), pp::DirectoryEntry::~DirectoryEntry(), and pp::Resource::~Resource().

Friends And Related Function Documentation

friend class Module
friend

Definition at line 105 of file core.h.


The documentation for this class was generated from the following files: