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

A reference counted module resource. More...

#include <resource.h>

Inheritance diagram for pp::Resource:
Inheritance graph
Collaboration diagram for pp::Resource:
Collaboration graph

Public Member Functions

 Resource ()
 The default constructor. More...
 
 Resource (const Resource &other)
 
virtual ~Resource ()
 Destructor. More...
 
Resourceoperator= (const Resource &other)
 
bool is_null () const
 
PP_Resource pp_resource () const
 
PP_Resource detach ()
 

Protected Member Functions

 Resource (PP_Resource resource)
 
 Resource (PassRef, PP_Resource resource)
 
void PassRefFromConstructor (PP_Resource resource)
 
void Clear ()
 Sets this resource to null. This releases ownership of the resource. More...
 

Friends

class Var
 

Detailed Description

A reference counted module resource.

Definition at line 20 of file resource.h.

Constructor & Destructor Documentation

pp::Resource::Resource ( )

The default constructor.

Definition at line 14 of file resource.cc.

pp::Resource::Resource ( const Resource other)

A constructor for copying a resource.

Parameters
[in]otherA Resource.

Definition at line 17 of file resource.cc.

References pp::Core::AddRefResource(), pp::Module::core(), pp::Module::Get(), and is_null().

pp::Resource::~Resource ( )
virtual

Destructor.

Definition at line 22 of file resource.cc.

References pp::Module::core(), pp::Module::Get(), is_null(), and pp::Core::ReleaseResource().

pp::Resource::Resource ( PP_Resource  resource)
explicitprotected

A constructor used when a PP_Resource is provided as a return value whose reference count we need to increment.

Parameters
[in]resourceA PP_Resource corresponding to a resource.

Definition at line 42 of file resource.cc.

References pp::Core::AddRefResource(), pp::Module::core(), pp::Module::Get(), and is_null().

pp::Resource::Resource ( PassRef  ,
PP_Resource  resource 
)
protected

Constructor used when a PP_Resource already has a ref count assigned. Add additional refcount is not taken.

Definition at line 47 of file resource.cc.

Member Function Documentation

void pp::Resource::Clear ( )
protected

Sets this resource to null. This releases ownership of the resource.

Definition at line 55 of file resource.cc.

References pp::Module::core(), pp::Module::Get(), is_null(), and pp::Core::ReleaseResource().

Referenced by pp::FileSystem::FileSystem().

PP_Resource pp::Resource::detach ( )

This function releases ownership of this resource and returns it to the caller.

Note that the reference count on the resource is unchanged and the caller needs to release the resource.

Returns
The detached PP_Resource.

Definition at line 36 of file resource.cc.

bool pp::Resource::is_null ( ) const
inline

This functions determines if this resource is invalid or uninitialized.

Returns
true if this resource is invalid or uninitialized.

Definition at line 45 of file resource.h.

Referenced by pp::ResourceArray_Dev::ArrayOutputCallbackConverter(), Clear(), pp::Graphics2D::Graphics2D(), operator=(), Resource(), and ~Resource().

Resource & pp::Resource::operator= ( const Resource other)
void pp::Resource::PassRefFromConstructor ( PP_Resource  resource)
protected

PassRefFromConstructor is called by derived class' constructors to initialize this Resource with a PP_Resource that has already had its reference count incremented by Core::AddRefResource. It also assumes this object has no current resource.

The intended usage of this function that the derived class constructor will call the default Resource constructor, then make a call to create a resource. It then wants to assign the new resource (which, since it was returned by the browser, already had its reference count increased).

Parameters
[in]resourceA PP_Resource corresponding to a resource.

Definition at line 50 of file resource.cc.

References PP_DCHECK.

Referenced by pp::Audio::Audio(), pp::AudioConfig::AudioConfig(), pp::AudioInput_Dev::AudioInput_Dev(), pp::Buffer_Dev::Buffer_Dev(), pp::Compositor::Compositor(), pp::DeviceControlSamsung::DeviceControlSamsung(), pp::ESDataSource_Samsung::ESDataSource_Samsung(), pp::FileIO::FileIO(), pp::FileRef::FileRef(), pp::FileSystem::FileSystem(), pp::Graphics2D::Graphics2D(), pp::Graphics3D::Graphics3D(), pp::HostResolver::HostResolver(), pp::HostResolverPrivate::HostResolverPrivate(), pp::ImageData::ImageData(), pp::IMEInputEvent::IMEInputEvent(), pp::InputEvent::InputEvent(), pp::KeyboardInputEvent::KeyboardInputEvent(), pp::MediaPlayer_Samsung::MediaPlayer_Samsung(), pp::MessageLoop::MessageLoop(), pp::MouseInputEvent::MouseInputEvent(), pp::NetAddress::NetAddress(), pp::NetworkMonitor::NetworkMonitor(), pp::RemovableStorage_Dev::RemovableStorage_Dev(), pp::ResourceArray_Dev::ResourceArray_Dev(), pp::TCPServerSocketPrivate::TCPServerSocketPrivate(), pp::TCPSocket::TCPSocket(), pp::TCPSocketPrivate::TCPSocketPrivate(), pp::TouchInputEvent::TouchInputEvent(), pp::UDPSocket::UDPSocket(), pp::UDPSocketPrivate::UDPSocketPrivate(), pp::URLDataSource_Samsung::URLDataSource_Samsung(), pp::URLLoader::URLLoader(), pp::URLRequestInfo::URLRequestInfo(), pp::VideoCapture_Dev::VideoCapture_Dev(), pp::VideoDecoder::VideoDecoder(), pp::WebSocket::WebSocket(), pp::WheelInputEvent::WheelInputEvent(), and pp::X509CertificatePrivate::X509CertificatePrivate().

PP_Resource pp::Resource::pp_resource ( ) const
inline

Definition at line 47 of file resource.h.

Referenced by pp::TCPServerSocketPrivate::Accept(), pp::TCPSocket::Accept(), pp::TCPSocketPrivate::AddChainBuildingCertificate(), pp::MediaPlayer_Samsung::AddExternalSubtitles(), pp::Compositor::AddLayer(), pp::TouchInputEvent::AddTouchPoint(), pp::URLRequestInfo::AppendDataToBody(), pp::ElementaryStream_Samsung::AppendEncryptedPacket(), pp::URLRequestInfo::AppendFileRangeToBody(), pp::URLRequestInfo::AppendFileToBody(), pp::ElementaryStream_Samsung::AppendPacket(), pp::MediaPlayer_Samsung::AttachDataSource(), pp::SubtitleListener_Samsung::AttachTo(), pp::MediaEventsListener_Samsung::AttachTo(), pp::DRMListener_Samsung::AttachTo(), pp::BufferingListener_Samsung::AttachTo(), pp::MessageLoop::AttachToCurrentThread(), pp::Audio::Audio(), pp::UDPSocketPrivate::Bind(), pp::TCPSocket::Bind(), pp::UDPSocket::Bind(), pp::Instance::BindGraphics(), pp::MediaPlayer_Samsung::BindToInstance(), pp::DeviceControlSamsung::ChangeSource(), pp::UDPSocketPrivate::Close(), pp::VideoCapture_Dev::Close(), pp::AudioInput_Dev::Close(), pp::WebSocket::Close(), pp::UDPSocket::Close(), pp::URLLoader::Close(), pp::TCPSocket::Close(), pp::FileIO::Close(), pp::Compositor::CommitLayers(), pp::TCPSocketPrivate::Connect(), pp::WebSocket::Connect(), pp::TCPSocket::Connect(), pp::TCPSocketPrivate::ConnectWithNetAddress(), pp::VideoDecoder::Decode(), pp::FileRef::Delete(), pp::NetAddress::DescribeAsIPv4Address(), pp::NetAddress::DescribeAsIPv6Address(), pp::NetAddress::DescribeAsString(), pp::TCPSocketPrivate::Disconnect(), pp::VideoCapture_Dev::EnumerateDevices(), pp::AudioInput_Dev::EnumerateDevices(), pp::RemovableStorage_Dev::EnumerateDevices(), pp::FileRef::FileRef(), pp::URLLoader::FinishStreamingToFile(), pp::ElementaryStream_Samsung::Flush(), pp::VideoDecoder::Flush(), pp::FileIO::Flush(), pp::Graphics2D::Flush(), pp::URLLoader::FollowRedirect(), pp::Graphics3D::GetAttribs(), pp::AudioElementaryStream_Samsung::GetAudioCodecProfile(), pp::AudioElementaryStream_Samsung::GetAudioCodecType(), pp::MediaPlayer_Samsung::GetAudioTracksList(), pp::AudioElementaryStream_Samsung::GetBitsPerChannel(), pp::URLResponseInfo::GetBodyAsFileRef(), pp::UDPSocketPrivate::GetBoundAddress(), pp::UDPSocket::GetBoundAddress(), pp::WebSocket::GetBufferedAmount(), pp::MouseInputEvent::GetButton(), pp::HostResolverPrivate::GetCanonicalName(), pp::HostResolver::GetCanonicalName(), pp::AudioElementaryStream_Samsung::GetChannelLayout(), pp::KeyboardInputEvent::GetCharacterText(), pp::MouseInputEvent::GetClickCount(), pp::View::GetClipRect(), pp::WebSocket::GetCloseCode(), pp::WebSocket::GetCloseReason(), pp::WebSocket::GetCloseWasClean(), pp::KeyboardInputEvent::GetCode(), pp::NetworkList::GetCount(), pp::View::GetCSSScale(), pp::MediaPlayer_Samsung::GetCurrentAudioTrackInfo(), pp::MediaPlayer_Samsung::GetCurrentTextTrackInfo(), pp::MediaPlayer_Samsung::GetCurrentTime(), pp::MediaPlayer_Samsung::GetCurrentVideoTrackInfo(), pp::WheelInputEvent::GetDelta(), pp::View::GetDeviceScale(), pp::NetworkList::GetDisplayName(), pp::URLLoader::GetDownloadProgress(), pp::MediaPlayer_Samsung::GetDuration(), pp::WebSocket::GetExtensions(), pp::NetAddress::GetFamily(), pp::X509CertificatePrivate::GetField(), pp::FileRef::GetFileSystemType(), pp::VideoElementaryStream_Samsung::GetFrameRate(), pp::NetworkList::GetIpAddresses(), pp::KeyboardInputEvent::GetKeyCode(), pp::TCPServerSocketPrivate::GetLocalAddress(), pp::TCPSocketPrivate::GetLocalAddress(), pp::TCPSocket::GetLocalAddress(), pp::InputEvent::GetModifiers(), pp::MouseInputEvent::GetMovement(), pp::NetworkList::GetMTU(), pp::DeviceRef_Dev::GetName(), pp::NetworkList::GetName(), pp::FileRef::GetName(), pp::HostResolverPrivate::GetNetAddress(), pp::HostResolver::GetNetAddress(), pp::HostResolver::GetNetAddressCount(), pp::FileIO_Trusted::GetOSFileDescriptor(), pp::FileRef::GetParent(), pp::FileRef::GetPath(), pp::VideoDecoder::GetPicture(), pp::MediaPlayer_Samsung::GetPlayerState(), pp::MouseInputEvent::GetPosition(), pp::URLResponseInfo::GetProperty(), pp::WebSocket::GetProtocol(), pp::WebSocket::GetReadyState(), pp::View::GetRect(), pp::UDPSocketPrivate::GetRecvFromAddress(), pp::TCPSocketPrivate::GetRemoteAddress(), pp::TCPSocket::GetRemoteAddress(), pp::URLLoader::GetResponseInfo(), pp::AudioElementaryStream_Samsung::GetSampleFormat(), pp::AudioElementaryStream_Samsung::GetSamplesPerSecond(), pp::Graphics2D::GetScale(), pp::WheelInputEvent::GetScrollByPage(), pp::View::GetScrollOffset(), pp::IMEInputEvent::GetSegmentNumber(), pp::IMEInputEvent::GetSegmentOffset(), pp::IMEInputEvent::GetSelection(), pp::TCPSocketPrivate::GetServerCertificate(), pp::HostResolverPrivate::GetSize(), pp::NetworkList::GetState(), pp::URLDataSource_Samsung::GetStreamingProperty(), pp::IMEInputEvent::GetTargetSegment(), pp::IMEInputEvent::GetText(), pp::MediaPlayer_Samsung::GetTextTracksList(), pp::WheelInputEvent::GetTicks(), pp::InputEvent::GetTimeStamp(), pp::TouchInputEvent::GetTouchById(), pp::TouchInputEvent::GetTouchByIndex(), pp::TouchInputEvent::GetTouchCount(), pp::DeviceRef_Dev::GetType(), pp::NetworkList::GetType(), pp::InputEvent::GetType(), pp::URLLoader::GetUploadProgress(), pp::WebSocket::GetURL(), pp::VideoElementaryStream_Samsung::GetVideoCodecProfile(), pp::VideoElementaryStream_Samsung::GetVideoCodecType(), pp::VideoElementaryStream_Samsung::GetVideoFrameFormat(), pp::VideoElementaryStream_Samsung::GetVideoFrameSize(), pp::MediaPlayer_Samsung::GetVideoTracksList(), pp::Graphics3D::Graphics3D(), pp::IMEInputEvent::IMEInputEvent(), pp::X509CertificatePrivate::Initialize(), pp::VideoDecoder::Initialize(), pp::ElementaryStream_Samsung::InitializeDone(), pp::Compositor::IsCompositor(), pp::CompositorLayer::IsCompositorLayer(), pp::CompositorLayerSamsung::IsCompositorLayerSamsung(), pp::FileSystem::IsFileSystem(), pp::View::IsFullscreen(), pp::View::IsPageVisible(), pp::RemovableStorage_Dev::IsRemovableStorage(), pp::View::IsVisible(), pp::UDPSocket::JoinGroup(), pp::KeyboardInputEvent::KeyboardInputEvent(), pp::UDPSocket::LeaveGroup(), pp::TCPServerSocketPrivate::Listen(), pp::TCPSocket::Listen(), pp::FileRef::MakeDirectory(), pp::VideoCapture_Dev::MonitorDeviceChange(), pp::AudioInput_Dev::MonitorDeviceChange(), pp::RemovableStorage_Dev::MonitorDeviceChange(), pp::MouseInputEvent::MouseInputEvent(), pp::VideoCapture_Dev::Open(), pp::AudioInput_Dev::Open(), pp::URLLoader::Open(), pp::FileIO::Open(), pp::FileSystem::Open(), pp::RemovableStorage_Dev::Open(), operator==(), pp::ResourceArray_Dev::operator[](), pp::Graphics2D::PaintImageData(), pp::MediaPlayer_Samsung::Pause(), pp::MediaPlayer_Samsung::Play(), pp::MessageLoop::PostQuit(), pp::MessageLoop::PostWork(), pp::FileIO::Query(), pp::FileRef::Query(), pp::TCPSocketPrivate::Read(), pp::TCPSocket::Read(), pp::FileIO::Read(), pp::FileRef::ReadDirectoryEntries(), pp::URLLoader::ReadResponseBody(), pp::WebSocket::ReceiveMessage(), pp::UDPSocketPrivate::RecvFrom(), pp::UDPSocket::RecvFrom(), pp::VideoDecoder::RecyclePicture(), pp::Instance::RegisterMessageHandler(), pp::FileRef::Rename(), pp::Graphics2D::ReplaceContents(), pp::FileIO_Private::RequestOSFileHandle(), pp::VideoDecoder::Reset(), pp::Compositor::ResetLayers(), pp::Graphics3D::ResizeBuffers(), pp::HostResolverPrivate::Resolve(), pp::HostResolver::Resolve(), pp::VideoCapture_Dev::ReuseBuffer(), pp::MessageLoop::Run(), pp::Graphics2D::Scroll(), pp::MediaPlayer_Samsung::Seek(), pp::MediaPlayer_Samsung::SelectTrack(), pp::WebSocket::SendMessage(), pp::UDPSocketPrivate::SendTo(), pp::UDPSocket::SendTo(), pp::Graphics3D::SetAttribs(), pp::AudioElementaryStream_Samsung::SetAudioCodecProfile(), pp::AudioElementaryStream_Samsung::SetAudioCodecType(), pp::CompositorLayerSamsung::SetBackgroundPlane(), pp::AudioElementaryStream_Samsung::SetBitsPerChannel(), pp::CompositorLayer::SetBlendMode(), pp::AudioElementaryStream_Samsung::SetChannelLayout(), pp::CompositorLayer::SetClipRect(), pp::AudioElementaryStream_Samsung::SetCodecExtraData(), pp::VideoElementaryStream_Samsung::SetCodecExtraData(), pp::CompositorLayer::SetColor(), pp::MouseCursor::SetCursor(), pp::MediaPlayer_Samsung::SetDisplayRect(), pp::ElementaryStream_Samsung::SetDRMInitData(), pp::MediaPlayer_Samsung::SetDRMSpecificData(), pp::ESDataSource_Samsung::SetDuration(), pp::ESDataSource_Samsung::SetEndOfStream(), pp::VideoElementaryStream_Samsung::SetFrameRate(), pp::CompositorLayer::SetImage(), pp::FileIO::SetLength(), pp::CompositorLayer::SetOpacity(), pp::TCPSocketPrivate::SetOption(), pp::UDPSocket::SetOption(), pp::TCPSocket::SetOption(), pp::MediaPlayer_Samsung::SetPlaybackRate(), pp::CompositorLayer::SetPremultipliedAlpha(), pp::URLRequestInfo::SetProperty(), pp::AudioElementaryStream_Samsung::SetSampleFormat(), pp::AudioElementaryStream_Samsung::SetSamplesPerSecond(), pp::Graphics2D::SetScale(), pp::UDPSocketPrivate::SetSocketFeature(), pp::CompositorLayer::SetSourceRect(), pp::URLDataSource_Samsung::SetStreamingProperty(), pp::MediaPlayer_Samsung::SetSubtitlesDelay(), pp::CompositorLayer::SetTexture(), pp::CompositorLayer::SetTransform(), pp::VideoElementaryStream_Samsung::SetVideoCodecProfile(), pp::VideoElementaryStream_Samsung::SetVideoCodecType(), pp::VideoElementaryStream_Samsung::SetVideoFrameFormat(), pp::VideoElementaryStream_Samsung::SetVideoFrameSize(), pp::ResourceArray_Dev::size(), pp::TCPSocketPrivate::SSLHandshake(), pp::VideoCapture_Dev::StartCapture(), pp::AudioInput_Dev::StartCapture(), pp::Audio::StartPlayback(), pp::MediaPlayer_Samsung::Stop(), pp::VideoCapture_Dev::StopCapture(), pp::AudioInput_Dev::StopCapture(), pp::TCPServerSocketPrivate::StopListening(), pp::Audio::StopPlayback(), pp::Graphics3D::SwapBuffers(), pp::FileIO::Touch(), pp::FileRef::Touch(), pp::TouchInputEvent::TouchInputEvent(), pp::NetworkMonitor::UpdateNetworkList(), pp::Var::Var(), pp::WheelInputEvent::WheelInputEvent(), pp::FileIO_Trusted::WillSetLength(), pp::FileIO_Trusted::WillWrite(), pp::TCPSocketPrivate::Write(), pp::TCPSocket::Write(), pp::FileIO::Write(), and pp::Buffer_Dev::~Buffer_Dev().

Friends And Related Function Documentation

friend class Var
friend

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