Pepper_47_C++_interfaces
|
A reference counted module resource. More...
#include <resource.h>
Public Member Functions | |
Resource () | |
The default constructor. More... | |
Resource (const Resource &other) | |
virtual | ~Resource () |
Destructor. More... | |
Resource & | operator= (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 |
A reference counted module resource.
Definition at line 20 of file resource.h.
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.
[in] | other | A Resource . |
Definition at line 17 of file resource.cc.
References pp::Core::AddRefResource(), pp::Module::core(), pp::Module::Get(), and is_null().
|
virtual |
Destructor.
Definition at line 22 of file resource.cc.
References pp::Module::core(), pp::Module::Get(), is_null(), and pp::Core::ReleaseResource().
|
explicitprotected |
A constructor used when a PP_Resource
is provided as a return value whose reference count we need to increment.
[in] | resource | A 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().
|
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.
|
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.
PP_Resource
. Definition at line 36 of file resource.cc.
|
inline |
This functions determines 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().
This function assigns one Resource
to another Resource
.
[in] | other | A Resource. |
Definition at line 27 of file resource.cc.
References pp::Core::AddRefResource(), pp::Module::core(), pp::Module::Get(), is_null(), and pp::Core::ReleaseResource().
Referenced by pp::MediaDataSource_Samsung::operator=(), pp::Buffer_Dev::operator=(), pp::ElementaryStream_Samsung::operator=(), pp::ResourceArray_Dev::operator=(), pp::HostResolver::operator=(), pp::MediaPlayer_Samsung::operator=(), pp::TCPSocket::operator=(), pp::UDPSocket::operator=(), pp::NetAddress::operator=(), pp::Graphics2D::operator=(), and pp::ImageData::operator=().
|
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).
[in] | resource | A 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().
|
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().
|
friend |
Definition at line 90 of file resource.h.
Referenced by pp::NetAddress::DescribeAsString(), pp::HostResolverPrivate::GetCanonicalName(), pp::HostResolver::GetCanonicalName(), pp::KeyboardInputEvent::GetCharacterText(), pp::WebSocket::GetCloseReason(), pp::KeyboardInputEvent::GetCode(), pp::WebSocket::GetExtensions(), pp::X509CertificatePrivate::GetField(), pp::DeviceRef_Dev::GetName(), pp::FileRef::GetName(), pp::FileRef::GetPath(), pp::URLResponseInfo::GetProperty(), pp::WebSocket::GetProtocol(), pp::IMEInputEvent::GetText(), pp::WebSocket::GetURL(), pp::KeyboardInputEvent::KeyboardInputEvent(), and pp::WebSocket::ReceiveMessage().