Difference between revisions of "HelperNotHelper"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Class with an Helper)
m (Class with an Helper)
Line 56: Line 56:
 
};
 
};
 
</source>
 
</source>
 +
 +
Go back to [[Constructing_Components#Results|Constructing Components]].

Revision as of 12:06, 17 April 2008

It's important to figure out the difference beween class implementing component when you use or not an helper.

Class without Helper

Here is the C++ code

class MyCounterImpl : public XCountable, public XServiceInfo
{
	sal_Int32 m_nRefCount;
	sal_Int32 m_nCount;	
public:
	MyCounterImpl( const Reference< XMultiServiceFactory > & xServiceManager );
	~MyCounterImpl();
 
// XInterface implementation
	virtual void SAL_CALL acquire() throw ();
	virtual void SAL_CALL release() throw ();
	virtual Any SAL_CALL queryInterface( const Type & rType ) throw (RuntimeException);
 
// XServiceInfo	implementation
    virtual OUString SAL_CALL getImplementationName(  ) throw(RuntimeException);
    virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(RuntimeException);
    virtual Sequence< OUString > SAL_CALL getSupportedServiceNames(  ) throw(RuntimeException);
    static Sequence< OUString > SAL_CALL getSupportedServiceNames_Static(  );
 
// XCountable implementation
	virtual sal_Int32 SAL_CALL getCount() throw (RuntimeException);
	virtual void SAL_CALL setCount( sal_Int32 nCount ) throw (RuntimeException);
	virtual sal_Int32 SAL_CALL increment() throw (RuntimeException);
	virtual sal_Int32 SAL_CALL decrement() throw (RuntimeException);
};

Class with an Helper

Here is the code

class MyCounterImpl : public ::cppu::WeakImplHelper2< XCountable, XServiceInfo >
{
	// to obtain other services if needed
	Reference< XMultiServiceFactory > m_xServiceManager;
	sal_Int32 m_nRefCount;
	sal_Int32 m_nCount;
 
public:
// XServiceInfo	implementation
    virtual OUString SAL_CALL getImplementationName(  ) throw(RuntimeException);
    virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(RuntimeException);
    virtual Sequence< OUString > SAL_CALL getSupportedServiceNames(  ) throw(RuntimeException);
    static Sequence< OUString > SAL_CALL getSupportedServiceNames_Static(  );
 
// XCountable implementation
	virtual sal_Int32 SAL_CALL getCount() throw (RuntimeException);
	virtual void SAL_CALL setCount( sal_Int32 nCount ) throw (RuntimeException);
	virtual sal_Int32 SAL_CALL increment() throw (RuntimeException);
	virtual sal_Int32 SAL_CALL decrement() throw (RuntimeException);
};

Go back to Constructing Components.

Personal tools