| Index: ppapi/c/ppb_core.h
|
| ===================================================================
|
| --- ppapi/c/ppb_core.h (revision 76553)
|
| +++ ppapi/c/ppb_core.h (working copy)
|
| @@ -17,8 +17,9 @@
|
|
|
| /**
|
| * @file
|
| - * Defines the API ...
|
| - *
|
| + * This file defines the PPB_Core interface defined by the browser and
|
| + * and containing pointers to functions related to memory management,
|
| + * time, and threads.
|
| */
|
|
|
| /**
|
| @@ -26,65 +27,104 @@
|
| * @{
|
| */
|
|
|
| -/** {PENDING: describe PPB_CORE} */
|
| +/**
|
| + * The PPB_Core interface contains pointers to functions related to memory
|
| + * management, time, and threads on the browser.
|
| + *
|
| + */
|
| struct PPB_Core {
|
| - /** Same as AddRefVar for Resources. */
|
| + /**
|
| + * Same as AddRefVar for Resources.
|
| + * AddRefResource is a pointer to a function that adds a reference to
|
| + * a resource.
|
| + *
|
| + * @param[in] config A PP_Resource containing the resource.
|
| + */
|
| void (*AddRefResource)(PP_Resource resource);
|
|
|
| - /** Same as ReleaseVar for Resources. */
|
| + /**
|
| + * ReleaseResource is a pointer to a function that removes a reference
|
| + * from a resource.
|
| + *
|
| + * @param[in] config A PP_Resource containing the resource.
|
| + */
|
| +/*Same as ReleaseVar for Resources. */
|
| void (*ReleaseResource)(PP_Resource resource);
|
|
|
| /**
|
| - * Allocate memory.
|
| + * MemAlloc is a pointer to a function that allocate memory.
|
| *
|
| - * @return NULL If the allocation fails.
|
| + * @param[in] num_bytes A size_t number of bytes to allocate.
|
| + * @return A pointer to the memory if successful, NULL If the
|
| + * allocation fails.
|
| */
|
| void* (*MemAlloc)(size_t num_bytes);
|
|
|
| - /** Free memory; it's safe to pass NULL. */
|
| + /**
|
| + * MemFree is a pointer to a function that deallocates memory.
|
| + *
|
| + * @param[in] ptr A pointer to the memory to deallocate. It is safe to
|
| + * pass NULL to this function.
|
| + */
|
| void (*MemFree)(void* ptr);
|
|
|
| /**
|
| - * Returns the "wall clock time" according to the browser.
|
| + * GetTime is a pointer to a function that returns the "wall clock
|
| + * time" according to the browser.
|
| *
|
| - * See the definition of PP_Time.
|
| + * @return A PP_Time containing the "wall clock time" according to the
|
| + * browser.
|
| */
|
| PP_Time (*GetTime)();
|
|
|
| /**
|
| - * Returns the "tick time" according to the browser. This clock is used by
|
| - * the browser when passing some event times to the plugin (e.g., via the
|
| + * GetTimeTicks is a pointer to a function that returns the "tick time"
|
| + * according to the browser. This clock is used by the browser when passing
|
| + * some event times to the plugin (e.g., via 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 run
|
| * change if the user changes their computer clock.
|
| *
|
| - * TODO(brettw) http://code.google.com/p/chromium/issues/detail?id=57448
|
| - * This currently does change with wall clock time, but will be fixed in
|
| - * a future release.
|
| + * @return A PP_TimeTicks containing the "tick time" according to the
|
| + * browser.
|
| */
|
| +
|
| +// TODO(brettw) http://code.google.com/p/chromium/issues/detail?id=57448
|
| +// This currently does change with wall clock time, but will be fixed in
|
| +// a future release.
|
| PP_TimeTicks (*GetTimeTicks)();
|
|
|
| /**
|
| - * Schedules work to be executed on the main plugin thread after the
|
| - * specified delay. The delay may be 0 to specify a call back as soon as
|
| - * possible.
|
| + * CallOnMainThread is a pointer to a function that schedules work to be
|
| + * executed on the main module 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 as the
|
| + * The |result| parameter will just be passed as the second argument to the
|
| * callback. Many applications won't need this, but it allows a plugin to
|
| * emulate calls of some callbacks which do use this value.
|
| *
|
| * NOTE: If the browser is shutting down or if the plugin has no instances,
|
| * then the callback function may not be called.
|
| + *
|
| + * @param[in] delay_in_milliseconds An int32_t delay in milliseconds.
|
| + * @param[in] callback A PP_CompletionCallback callback function that the
|
| + * browser will call after the specified delay.
|
| + * @param[in] result An int32_t that the browser will pass to the given
|
| + * PP_CompletionCallback.
|
| */
|
| void (*CallOnMainThread)(int32_t delay_in_milliseconds,
|
| struct PP_CompletionCallback callback,
|
| int32_t result);
|
|
|
| /**
|
| - * Returns true if the current thread is the main pepper thread.
|
| + * IsMainThread is a pointer to a function that returns true if the
|
| + * current thread is the main pepper thread.
|
| *
|
| - * This is useful for implementing sanity checks, and deciding if dispatching
|
| - * via CallOnMainThread() is required.
|
| + * This function is useful for implementing sanity checks, and deciding if
|
| + * dispatching using CallOnMainThread() is required.
|
| + *
|
| + * @return A PP_BOOL containing PP_TRUE if the current thread is the main
|
| + * pepper thread, otherwise PP_FALSE.
|
| */
|
| PP_Bool (*IsMainThread)();
|
| };
|
|
|