/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
/********************************** * The service, that is used to test the Service manager * * *
*************************************/ static sal_uInt32 nInstanceCount = 0; class Test_Manager_Impl : public WeakImplHelper< XServiceInfo >
{ public:
Test_Manager_Impl(){ nInstanceCount++;}
~Test_Manager_Impl();
// old, is no longer needed by the new Mimic
Reference< XInterface > SAL_CALL Test_Manager_Impl_CreateInstance_Impl()
{ return (OWeakObject *)new Test_Manager_Impl();
}
try { // register the services via writeComponentRegInfo (see at end of this file)
xInst->registerImplementation(OUString("com.sun.star.loader.SharedLibrary"), atUModule2, Reference< XSimpleRegistry >() );
} catch(const CannotRegisterImplementationException &) {
OSL_ENSURE( 0, "register implementation failed" );
}
// getImplementations() check
Sequence<OUString> seqImpl = xInst->getImplementations(OUString("com.sun.star.loader.SharedLibrary"), atUModule2);
OSL_ENSURE( seqImpl.getLength() == 1, "count of implementations is wrong" );
OSL_ENSURE( seqImpl.getConstArray()[0] == "com.sun.star.DummyService.V10", "implementation name is not equal" );
// tests, if a service provider can be instantiated.
Reference< XInterface > xIFace(xSMgr->createInstance("com.sun.star.ts.TestManagerImpl"));
OSL_ENSURE( xIFace.is(), "loadable service not found" );
// remove the service
OSL_VERIFY( xInst->revokeImplementation(atUModule2, Reference< XSimpleRegistry > ()) );
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.