Difference between revisions of "Uno/Cpp/Spec/Purpose Bridge Implementation Helper"

From Apache OpenOffice Wiki
< Uno‎ | Cpp‎ | Spec
Jump to: navigation, search
(Fixed title.)
m (Updated state.)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
version: {{REVISIONID}} <br>
+
Type: Specification  State: Evolving Availability: URE 1.3 (SRC680_m212)
state:   draft          <br>
+
type:    specification <br>
+
  
== Purpose Bridge Implementation Helper ==
+
==Feature==
 +
A helper for implementing purpose environments, with probe support.
  
; Feature
+
==API==
:  A helper for implementing purpose environments, with probe support.
+
<code>[cpp]
 +
cppu/helper/purpenv/Base.hxx
 +
  class cppu::helper::purpenv::Base
 +
  {
 +
    public:
 +
      Base(uno_Environment * pEnv);
 +
  };
  
; Rationale :
+
cppu/helper/purpenv/Mapping.hxx
 +
  void createMapping(uno_Mapping ** ppMapping, uno_Environment  * pFrom, uno_Environment  * pTo, ProbeFun * probeFun  = NULL, void * pContext = NULL);
 +
</code>
  
; API
+
==Usage Example==
: <code>class Base : public cppu::Enterable</code>
+
{{:Uno/Cpp/Snippet/PurpenvHelper}}
: <code>Base(uno_Environment * pEnv);</code>
+
  
: <code>createMapping(uno_Mapping ** ppMapping, uno_Environment  * pFrom, uno_Environment  * pTo, ProbeFun * probeFun  = NULL, void * pContext = NULL);</code>
+
==Link Libraries==
 +
* C++ purpenv_helper
  
; Compatibility Issues: None.
+
==Dependencies==
 +
* [[Uno/Binary/Impl/Environment Stack]]
  
; Dependencies: None.
 
  
[[Category:Uno:Cpp:Spec]]
+
[[Category:Evolving]]
 +
[[Category:Spec]]
 +
[[Category:Uno]]
 +
[[Category:Uno:Cpp]]

Latest revision as of 10:21, 23 May 2007

Type: Specification State: Evolving Availability: URE 1.3 (SRC680_m212)

Feature

A helper for implementing purpose environments, with probe support.

API

[cpp] cppu/helper/purpenv/Base.hxx

 class cppu::helper::purpenv::Base
 {
   public:
     Base(uno_Environment * pEnv);
 };

cppu/helper/purpenv/Mapping.hxx

 void createMapping(uno_Mapping ** ppMapping, uno_Environment  * pFrom, uno_Environment  * pTo, ProbeFun * probeFun  = NULL, void * pContext = NULL);

Usage Example

#include <cppu/helper/purpenv/Base.hxx>
#include <cppu/helper/purpenv/Mapping.hxx>
...
class SAL_DLLPRIVATE MyBridge : public cppu::helper::purpenv::Base
{
public:
	explicit MyBridge(uno_Environment * pEnv);
 
	virtual void v_callInto_v(uno_EnvCallee * pCallee, va_list param);
	virtual void v_callOut_v (uno_EnvCallee * pCallee, va_list param);
 
	virtual void v_enter(void);
	virtual void v_leave(void);
 
	virtual int  v_isValid(rtl::OUString * pReason);
};
 
MyBridge::MyBridge(uno_Environment * pEnv)
{
   ...
}
 
void MyBridge::v_callInto_v(uno_EnvCallee * pCallee, va_list param)
{
  ...
}
 
void MyBridge::v_callOut_v(uno_EnvCallee * pCallee, va_list param)
{
  ...
}
 
void MyBridge::v_enter(void)
{
  ...
}
 
void MyBridge::v_leave(void)
{
  ...
}
 
int MyBridge::v_isValid(rtl::OUString * pReason)
{
  ...
}
 
extern "C" void SAL_DLLPUBLIC_EXPORT SAL_CALL uno_initEnvironment(uno_Environment * pEnv)
	SAL_THROW_EXTERN_C()
{
	new MyBridge(pEnv);
}
 
extern "C" void SAL_DLLPUBLIC_EXPORT SAL_CALL uno_ext_getMapping(uno_Mapping     ** ppMapping,
								   uno_Environment  * pFrom,
								   uno_Environment  * pTo )
{
	cppu::helper::purpenv::createMapping(ppMapping, pFrom, pTo);
}

Link Libraries

  • C++ purpenv_helper

Dependencies

Personal tools