Branch libreoffice-5-0-4
[LibreOffice.git] / odk / examples / cpp / complextoolbarcontrols / MyJob.h
blob6687dc7c8be6f8acc7da7560cf46a6f5cefb5b7f
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_EXAMPLES_COMPLEXTOOLBARCONTROLS_MYJOB_H
21 #define INCLUDED_EXAMPLES_COMPLEXTOOLBARCONTROLS_MYJOB_H
23 #include <com/sun/star/task/XJob.hpp>
24 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
25 #include <com/sun/star/lang/XServiceInfo.hpp>
26 #include <cppuhelper/implbase2.hxx>
28 namespace com
30 namespace sun
32 namespace star
34 namespace frame
36 class XModel;
37 class XFrame;
39 namespace beans
41 struct NamedValue;
47 class MyJob : public cppu::WeakImplHelper2
49 com::sun::star::task::XJob,
50 com::sun::star::lang::XServiceInfo
53 private:
54 ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxMSF;
56 public:
57 MyJob( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > &rxMSF)
58 : mxMSF( rxMSF ) {}
59 virtual ~MyJob() {}
61 // XJob
62 virtual ::com::sun::star::uno::Any SAL_CALL execute(
63 const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& Arguments )
64 throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
66 // XServiceInfo
67 virtual ::rtl::OUString SAL_CALL getImplementationName( )
68 throw (::com::sun::star::uno::RuntimeException);
69 virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
70 throw (::com::sun::star::uno::RuntimeException);
71 virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( )
72 throw (::com::sun::star::uno::RuntimeException);
75 ::rtl::OUString MyJob_getImplementationName()
76 throw ( ::com::sun::star::uno::RuntimeException );
78 sal_Bool SAL_CALL MyJob_supportsService( const ::rtl::OUString& ServiceName )
79 throw ( ::com::sun::star::uno::RuntimeException );
81 ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL MyJob_getSupportedServiceNames( )
82 throw ( ::com::sun::star::uno::RuntimeException );
84 ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
85 SAL_CALL MyJob_createInstance( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rSMgr)
86 throw ( ::com::sun::star::uno::Exception );
88 #endif
90 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */