138d50f7bSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 338d50f7bSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 438d50f7bSAndrew Rist * or more contributor license agreements. See the NOTICE file 538d50f7bSAndrew Rist * distributed with this work for additional information 638d50f7bSAndrew Rist * regarding copyright ownership. The ASF licenses this file 738d50f7bSAndrew Rist * to you under the Apache License, Version 2.0 (the 838d50f7bSAndrew Rist * "License"); you may not use this file except in compliance 938d50f7bSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 1138d50f7bSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 1338d50f7bSAndrew Rist * Unless required by applicable law or agreed to in writing, 1438d50f7bSAndrew Rist * software distributed under the License is distributed on an 1538d50f7bSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 1638d50f7bSAndrew Rist * KIND, either express or implied. See the License for the 1738d50f7bSAndrew Rist * specific language governing permissions and limitations 1838d50f7bSAndrew Rist * under the License. 19cdf0e10cSrcweir * 2038d50f7bSAndrew Rist *************************************************************/ 2138d50f7bSAndrew Rist 2238d50f7bSAndrew Rist 23cdf0e10cSrcweir #include <comphelper/servicedecl.hxx> 24cdf0e10cSrcweir #include <ooo/vba/XHelperInterface.hpp> 25cdf0e10cSrcweir 26cdf0e10cSrcweir namespace comphelper { 27cdf0e10cSrcweir namespace service_decl { 28cdf0e10cSrcweir template <typename ImplT_, typename WithArgsT = with_args<false> > 29*d16f1dcaSPedro Giffuni struct vba_service_class_ : public serviceimpl_base< vba_detail::OwnServiceImpl<ImplT_>, WithArgsT > 30cdf0e10cSrcweir { 31cdf0e10cSrcweir typedef serviceimpl_base< detail::OwnServiceImpl<ImplT_>, WithArgsT > baseT; 32cdf0e10cSrcweir /** Default ctor. Implementation class without args, expecting 33cdf0e10cSrcweir component context as single argument. 34cdf0e10cSrcweir */ vba_service_class_comphelper::service_decl::vba_service_class_35cdf0e10cSrcweir vba_service_class_() : baseT() {} 36cdf0e10cSrcweir template <typename PostProcessFuncT> 37cdf0e10cSrcweir /** Ctor to pass a post processing function/functor. 38cdf0e10cSrcweir 39cdf0e10cSrcweir @tpl PostProcessDefaultT let your compiler deduce this 40cdf0e10cSrcweir @param postProcessFunc function/functor that gets the yet unacquired 41cdf0e10cSrcweir ImplT_ pointer returning a 42cdf0e10cSrcweir uno::Reference<uno::XInterface> 43cdf0e10cSrcweir */ vba_service_class_comphelper::service_decl::vba_service_class_44cdf0e10cSrcweir explicit vba_service_class_( PostProcessFuncT const& postProcessFunc ) : baseT( postProcessFunc ) {} 45cdf0e10cSrcweir }; 46cdf0e10cSrcweir 47cdf0e10cSrcweir } // namespace service_decl 48cdf0e10cSrcweir } // namespace comphelper 49cdf0e10cSrcweir 50