使用C++进行BREW编程

   高通SDK里面教我们创建工程的方式默认是使用C语言,不过有时候使用C++会比较方便,本文介绍怎么在BREW里搭建一个C++的框架。
 
1、 首先按照高通的方法新建一个工程,暂时命名为“test”,这样在生成的工程下会自动产生“test.c”文件。
 
2、 新建一个工程头文件,命名为“test.h”,里面实现一个类TestCpp,代码如下:
class TestCpp: public AEEApplet //类必须继承自AEEApplet
{
public:
     static boolean HandleEvent(TestCpp* pTestCpp, AEEEvent eCode,
                uint16 wParam, uint32 dwParam);
protected:
    //add your codes here
};
 
3、 把“test.c”重命名为“test.cpp”, 然后在“test.cpp”文件里作如下修改:
①原来int  AEEClsCreateInstance函数改成如下:
extern "C" int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,
IModule * pIModule, void ** ppApplet)
{
     AEEApplet* pMe = 0;
     *ppApplet = NULL;
     if(ClsId == AEECLSID_TEST )   //your classID
     {
         if(!AEEApplet_New(sizeof(TestCpp),  ClsId,  pIShell, pIModule,
(IApplet**)ppApplet, (AEEHANDLER) TestCpp::HandleEvent,   NULL) )
         return EFAILED;
             pMe = (AEEApplet*)(*ppApplet);
             if (!pMe)
                    return(EFAILED);
             return(SUCCESS);
     }
     else
          return(EFAILED);    
}
②原来static boolean test_HandleEvent函数改成如下:
boolean TestCpp::HandleEvent(TestCpp* pApp, AEEEvent eCode,
uint16 wParam, uint32 dwParam)
{
              AECHAR text[] = L"Hello BREW C++";
                            AEEApplet* pMe = (AEEApplet*)pApp;      
   switch (eCode)
       {
case EVT_APP_START:  
           // Add your code here .....                    
              IDISPLAY_DrawText (           pMe->m_pIDisplay,
                                                                 AEE_FONT_LARGE,
text,
-1,
                                                                 0,
                                                                 0,
                                                                NULL,
                                                                IDF_ALIGN_CENTER|IDF_ALIGN_MIDDLE
                                                   );
IDISPLAY_Update(pMe->m_pIDisplay);
      
                 return(TRUE);
      case EVT_APP_STOP:
                  // Add your code here .....
 
         return TRUE;
      default:
         break;
   }
   return FALSE;
}
③编译运行,就会看到你的屏幕中间显示“Hello BREW C++”了。^_^ Congratulations!
转载请保留以下信息:
作者(Author):smilelance
时间( Time ):2006.09.28
出处( From ):http://blog.csdn.net/smilelance
 
posted @ 2006-09-28 16:55  MXi4oyu  阅读(205)  评论(0编辑  收藏  举报