diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2011-03-08 06:30:34 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2011-03-08 06:30:34 +0000 |
commit | a71c9ccfea1d7d9e7999037a8ee13820eb0e16e2 (patch) | |
tree | 28c6779b14c588fa9db1fc0e3751d59b5f6ad5b7 /pjlib/src/pj/os_info.c | |
parent | a93760edc931856f1697a44fe5ba5a9108999c87 (diff) |
Implementation of re #1202 (PJLIB System Information API) on Symbian/S60 platforms.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3437 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib/src/pj/os_info.c')
-rw-r--r-- | pjlib/src/pj/os_info.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/pjlib/src/pj/os_info.c b/pjlib/src/pj/os_info.c index 4f4bbf10..2d57352d 100644 --- a/pjlib/src/pj/os_info.c +++ b/pjlib/src/pj/os_info.c @@ -59,6 +59,15 @@ #if defined(PJ_DARWINOS) && PJ_DARWINOS != 0 && TARGET_OS_IPHONE void pj_iphone_os_get_sys_info(pj_sys_info *si, pj_str_t *si_buffer); #endif + +#if defined(PJ_SYMBIAN) && PJ_SYMBIAN != 0 + PJ_BEGIN_DECL + unsigned pj_symbianos_get_model_info(char *buf, unsigned buf_size); + unsigned pj_symbianos_get_platform_info(char *buf, unsigned buf_size); + void pj_symbianos_get_sdk_info(pj_str_t *name, pj_uint32_t *ver); + PJ_END_DECL +#endif + static char *ver_info(pj_uint32_t ver, char *buf) { @@ -218,6 +227,22 @@ PJ_DEF(const pj_sys_info*) pj_get_sys_info(void) #endif /* PJ_WIN32_WINCE */ } } +#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN != 0 + { + pj_symbianos_get_model_info(si_buffer, sizeof(si_buffer)); + ALLOC_CP_STR(si_buffer, machine); + + char *p = si_buffer + sizeof(si_buffer) - left; + unsigned plen; + plen = pj_symbianos_get_platform_info(p, left); + if (plen) { + /* Output format will be "Series60vX.X" */ + si.os_name = pj_str("S60"); + si.os_ver = parse_version(p+9); + } else { + si.os_name = pj_str("Unknown"); + } + } #endif /* @@ -263,6 +288,8 @@ get_sdk_info: (((_MSC_VER % 100) / 10) << 16) | ((_MSC_VER % 10) << 8); si.sdk_name = pj_str("msvc"); +#elif defined(PJ_SYMBIAN) && PJ_SYMBIAN != 0 + pj_symbianos_get_sdk_info(&si.sdk_name, &si.sdk_ver); #endif /* |