1e8649ecdSHerbert Dürr /************************************************************** 2e8649ecdSHerbert Dürr * 3e8649ecdSHerbert Dürr * Licensed to the Apache Software Foundation (ASF) under one 4e8649ecdSHerbert Dürr * or more contributor license agreements. See the NOTICE file 5e8649ecdSHerbert Dürr * distributed with this work for additional information 6e8649ecdSHerbert Dürr * regarding copyright ownership. The ASF licenses this file 7e8649ecdSHerbert Dürr * to you under the Apache License, Version 2.0 (the 8e8649ecdSHerbert Dürr * "License"); you may not use this file except in compliance 9e8649ecdSHerbert Dürr * with the License. You may obtain a copy of the License at 10e8649ecdSHerbert Dürr * 11e8649ecdSHerbert Dürr * http://www.apache.org/licenses/LICENSE-2.0 12e8649ecdSHerbert Dürr * 13e8649ecdSHerbert Dürr * Unless required by applicable law or agreed to in writing, 14e8649ecdSHerbert Dürr * software distributed under the License is distributed on an 15e8649ecdSHerbert Dürr * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16e8649ecdSHerbert Dürr * KIND, either express or implied. See the License for the 17e8649ecdSHerbert Dürr * specific language governing permissions and limitations 18e8649ecdSHerbert Dürr * under the License. 19e8649ecdSHerbert Dürr * 20e8649ecdSHerbert Dürr *************************************************************/ 21e8649ecdSHerbert Dürr 22e8649ecdSHerbert Dürr #include "macavf_manager.hxx" 23e8649ecdSHerbert Dürr #include "macavf_player.hxx" 24e8649ecdSHerbert Dürr 25e8649ecdSHerbert Dürr #include <tools/urlobj.hxx> 26e8649ecdSHerbert Dürr 27e8649ecdSHerbert Dürr using namespace ::com::sun::star; 28e8649ecdSHerbert Dürr 29e8649ecdSHerbert Dürr namespace avmedia { namespace macavf { 30e8649ecdSHerbert Dürr 31e8649ecdSHerbert Dürr // ---------------- 32e8649ecdSHerbert Dürr // - Manager - 33e8649ecdSHerbert Dürr // ---------------- 34e8649ecdSHerbert Dürr Manager(const uno::Reference<uno::XComponentContext> & rxContext)35*652e100fSDamjan JovanovicManager::Manager( const uno::Reference< uno::XComponentContext >& rxContext ) : 36*652e100fSDamjan Jovanovic mxContext( rxContext ) 37e8649ecdSHerbert Dürr { 38e8649ecdSHerbert Dürr OSL_TRACE( "Constructing avmedia::macavf::Manager" ); 39e8649ecdSHerbert Dürr } 40e8649ecdSHerbert Dürr 41e8649ecdSHerbert Dürr // ------------------------------------------------------------------------------ 42e8649ecdSHerbert Dürr ~Manager()43e8649ecdSHerbert DürrManager::~Manager() 44e8649ecdSHerbert Dürr {} 45e8649ecdSHerbert Dürr 46e8649ecdSHerbert Dürr // ------------------------------------------------------------------------------ 47e8649ecdSHerbert Dürr createPlayer(const::rtl::OUString & rURL)48e8649ecdSHerbert Dürruno::Reference< media::XPlayer > SAL_CALL Manager::createPlayer( const ::rtl::OUString& rURL ) 49e8649ecdSHerbert Dürr throw (uno::RuntimeException) 50e8649ecdSHerbert Dürr { 51*652e100fSDamjan Jovanovic Player* pPlayer( new Player( mxContext ) ); 52e8649ecdSHerbert Dürr uno::Reference< media::XPlayer > xRet( pPlayer ); 53e8649ecdSHerbert Dürr INetURLObject aURL( rURL ); 54e8649ecdSHerbert Dürr 55e8649ecdSHerbert Dürr OSL_TRACE( "avmediamacavf: Manager::createPlayer" ); 56e8649ecdSHerbert Dürr 57e8649ecdSHerbert Dürr if( !pPlayer->create( aURL.GetMainURL( INetURLObject::DECODE_UNAMBIGUOUS ) ) ) 58e8649ecdSHerbert Dürr xRet = uno::Reference< media::XPlayer >(); 59e8649ecdSHerbert Dürr 60e8649ecdSHerbert Dürr return xRet; 61e8649ecdSHerbert Dürr } 62e8649ecdSHerbert Dürr 63e8649ecdSHerbert Dürr // ------------------------------------------------------------------------------ 64e8649ecdSHerbert Dürr getImplementationName()65e8649ecdSHerbert Dürr::rtl::OUString SAL_CALL Manager::getImplementationName( ) 66e8649ecdSHerbert Dürr throw (uno::RuntimeException) 67e8649ecdSHerbert Dürr { 68*652e100fSDamjan Jovanovic return getImplementationName_Static(); 69e8649ecdSHerbert Dürr } 70e8649ecdSHerbert Dürr 71e8649ecdSHerbert Dürr // ------------------------------------------------------------------------------ 72e8649ecdSHerbert Dürr supportsService(const::rtl::OUString & ServiceName)73e8649ecdSHerbert Dürrsal_Bool SAL_CALL Manager::supportsService( const ::rtl::OUString& ServiceName ) 74e8649ecdSHerbert Dürr throw (uno::RuntimeException) 75e8649ecdSHerbert Dürr { 76e8649ecdSHerbert Dürr return ServiceName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM ( AVMEDIA_MACAVF_MANAGER_SERVICENAME ) ); 77e8649ecdSHerbert Dürr } 78e8649ecdSHerbert Dürr 79e8649ecdSHerbert Dürr // ------------------------------------------------------------------------------ 80e8649ecdSHerbert Dürr getSupportedServiceNames()81e8649ecdSHerbert Dürruno::Sequence< ::rtl::OUString > SAL_CALL Manager::getSupportedServiceNames( ) 82e8649ecdSHerbert Dürr throw (uno::RuntimeException) 83e8649ecdSHerbert Dürr { 84*652e100fSDamjan Jovanovic return getSupportedServiceNames_Static(); 85*652e100fSDamjan Jovanovic } 86*652e100fSDamjan Jovanovic 87*652e100fSDamjan Jovanovic // ------------------------------------------------------------------------------ 88*652e100fSDamjan Jovanovic getImplementationName_Static()89*652e100fSDamjan Jovanovic::rtl::OUString SAL_CALL Manager::getImplementationName_Static( ) 90*652e100fSDamjan Jovanovic throw (uno::RuntimeException) 91*652e100fSDamjan Jovanovic { 92*652e100fSDamjan Jovanovic return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( AVMEDIA_MACAVF_MANAGER_IMPLEMENTATIONNAME ) ); 93*652e100fSDamjan Jovanovic } 94*652e100fSDamjan Jovanovic 95*652e100fSDamjan Jovanovic // ------------------------------------------------------------------------------ 96*652e100fSDamjan Jovanovic getSupportedServiceNames_Static()97*652e100fSDamjan Jovanovicuno::Sequence< ::rtl::OUString > SAL_CALL Manager::getSupportedServiceNames_Static( ) 98*652e100fSDamjan Jovanovic throw (uno::RuntimeException) 99*652e100fSDamjan Jovanovic { 100e8649ecdSHerbert Dürr uno::Sequence< ::rtl::OUString > aRet(1); 101e8649ecdSHerbert Dürr aRet[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( AVMEDIA_MACAVF_MANAGER_SERVICENAME ) ); 102e8649ecdSHerbert Dürr 103e8649ecdSHerbert Dürr return aRet; 104e8649ecdSHerbert Dürr } 105e8649ecdSHerbert Dürr 106*652e100fSDamjan Jovanovic 107e8649ecdSHerbert Dürr } // namespace macavf 108e8649ecdSHerbert Dürr } // namespace avmedia 109