WEB开发网
开发学院手机开发Symbian 开发 Symbian之client-server架构 阅读

Symbian之client-server架构

 2010-05-31 19:49:00 来源:WEB开发网   
核心提示:aVersion,TInt aAsyncMessageSlots,TIpcSessionType aType,const TSecurityPolicy* aPolicy=0, TRequestStatus* aStatus=0);inline TInt CreateSession(RServer2 aServer,c
aVersion,TInt aAsyncMessageSlots,TIpcSessionType aType,const TSecurityPolicy* aPolicy=0, TRequestStatus* aStatus=0);

inline TInt CreateSession(RServer2 aServer,const TVersion& aVersion);

IMPORT_C TInt CreateSession(RServer2 aServer,const TVersion& aVersion,TInt aAsyncMessageSlots);

IMPORT_C TInt CreateSession(RServer2 aServer,const TVersion& aVersion,TInt aAsyncMessageSlots,TIpcSessionType aType,const TSecurityPolicy* aPolicy=0, TRequestStatus* aStatus=0);

inline static TInt SetReturnedHandle(TInt aHandleOrError,RHandleBase& aHandle);

inline TInt Send(TInt aFunction,const TIpcArgs& aArgs) const;

inline void SendReceive(TInt aFunction,const TIpcArgs& aArgs,TRequestStatus& aStatus) const;

inline TInt SendReceive(TInt aFunction,const TIpcArgs& aArgs) const;

inline TInt Send(TInt aFunction) const;

inline void SendReceive(TInt aFunction,TRequestStatus& aStatus) const;

inline TInt SendReceive(TInt aFunction) const;

。。。

};

这个类提供了很多重载的CreateSession()方 法,根据需要进行选择,涉及到几个概念就是消息槽和IPC Session的类型,可以根据SDK的描述使用,SDK有详细的阐述,没有用到过,这里就不详述了。

SendReceive()也有很多重载的方法,主要是同/异步的选择,那些没有 TRequestStatus参数的API是同步的,一个Client的Session对Server同时只能有一个当前的同步请求,异步请求可以有多 个。

RMessage2这 个类封装了Client请求的细节,在Client和Server端传递。

class RMessage2 : public RMessagePtr2

{

friend class CServer2;

#endif

inline TInt Function() const;

inline TInt Int0() const;

inline TInt Int1() const;

inline TInt Int2() const;

inline TInt Int3() const;

inline const TAny* Ptr0() const;

inline const TAny* Ptr1() const;

inline const TAny* Ptr2() const;

上一页  1 2 3 4 5 6  下一页

Tags:Symbian client server

编辑录入:coldstar [复制链接] [打 印]
赞助商链接