NS_IMETHODIMP
BluetoothReplyRunnable::Run()
{
  MOZ_ASSERT(NS_IsMainThread());
  MOZ_ASSERT(mDOMRequest);
  MOZ_ASSERT(mReply);

  nsresult rv;

  if (mReply->type() != BluetoothReply::TBluetoothReplySuccess) {
    rv = FireReply(JSVAL_VOID);
  } else {
    jsval v; 
    if (!ParseSuccessfulReply(&v)) {
      rv = FireErrorString();
    } else {
      rv = FireReply(v);
    }
  }

  if (NS_FAILED(rv)) {
    NS_WARNING("Could not fire DOMRequest!");
  }

  ReleaseMembers();
  MOZ_ASSERT(!mDOMRequest,
             "mDOMRequest still alive! Deriving class should call "
             "BluetoothReplyRunnable::ReleaseMembers()!");

  return rv;
}
Esempio n. 2
0
	STDMETHODIMP PVR_Decoder::Initialize( IStream *pIStream, WICDecodeOptions cacheOptions )
	{
		UNREFERENCED_PARAMETER( cacheOptions );

		HRESULT result = E_INVALIDARG;

		ReleaseMembers( true );

		if ( pIStream )
		{
			PVR_Texture_Header pvrHeader;

			result = ReadFromIStream( pIStream, pvrHeader ); // read header

			if ( SUCCEEDED( result )) result = VerifyFactory();

			if ( SUCCEEDED( result ))
			{
				if (((pvrHeader.dwpfFlags & PVRTEX_PIXELTYPE) != OGL_PVRTC2) && ((pvrHeader.dwpfFlags & PVRTEX_PIXELTYPE) != OGL_PVRTC4))
				{
					result = E_INVALIDARG;
				}
				else
				{
					PVR_FrameDecode* frame = CreateNewDecoderFrame( m_factory, 0 ); 

					result = frame->LoadImage( pvrHeader, pIStream );
				
					if ( SUCCEEDED( result ))
						AddDecoderFrame( frame );
					else
						delete frame;
				}
			}
		}
		else
			result = E_INVALIDARG;

		return result;
	}
Esempio n. 3
0
BaseEncoder::~BaseEncoder()
{
    ReleaseMembers();
}
Esempio n. 4
0
BaseFrameEncode::~BaseFrameEncode()
{
    ReleaseMembers();
}