Create Instance with Arguments

From Apache OpenOffice Wiki
Jump to: navigation, search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.



If the service should be raised passing arguments through createInstanceWithArgumentsAndContext() and createInstanceWithArguments(), it has to implement the interface com.sun.star.lang.XInitialization. The second service my_module.MyService2 implements it, expecting a single string as an argument.

  // XInitialization implementation
  void MyService2Impl::initialize( Sequence< Any > const & args )
      throw (Exception)
  {
      if (1 != args.getLength())
      {
          throw lang::IllegalArgumentException(
              OUString( RTL_CONSTASCII_USTRINGPARAM("give a string instanciating this component!") ),
              (::cppu::OWeakObject *)this, // resolve to XInterface reference
              0 ); // argument pos
      }
      if (! (args[ 0 ] >>= m_arg))
      {
          throw lang::IllegalArgumentException(
              OUString( RTL_CONSTASCII_USTRINGPARAM("no string given as argument!") ),
              (::cppu::OWeakObject *)this, // resolve to XInterface reference
              0 ); // argument pos
      }
  }
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages