[IMPROVE] open GL native probes added
authorVitaliy Cherepanov <v.cherepanov@samsung.com>
Fri, 6 Dec 2013 11:49:20 +0000 (15:49 +0400)
committerVitaliy Cherepanov <v.cherepanov@samsung.com>
Mon, 9 Dec 2013 14:27:24 +0000 (18:27 +0400)
Change-Id: I5f5febd1c2533532f31f0d7dce2bd8ffe518afab
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
Makefile
helper/dahelper.c
include/api_id_mapping.h
include/dahelper.h
probe_graphics/da_gles20.h
probe_graphics/da_gles20_native.cpp [new file with mode: 0644]
probe_graphics/da_gles20_tizen.cpp [moved from probe_graphics/da_gles20.cpp with 98% similarity]
scripts/api_names.txt

index 4c36e5e..440eec8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -109,7 +109,8 @@ TIZEN_SRCS =        $(COMMON_SRCS)                          \
                ./probe_ui/tizen_scenemanager.cpp       \
                ./probe_ui/tizen_frameani.cpp           \
                ./probe_ui/tizen_display.cpp            \
-               ./probe_graphics/da_gles20.cpp
+               ./probe_graphics/da_gles20_tizen.cpp            \
+               ./probe_graphics/da_gles20_native.cpp
 
 ## Totally brain-dead.
 ## FIXME: Rewrite this normally with eval.
@@ -122,7 +123,7 @@ CAPI_TARGET = da_probe_capi.so
 TIZEN_TARGET = da_probe_tizen.so
 DUMMY_TARGET = libdaprobe.so
 
-CPPFLAGS = $(INCLUDE_CPPFLAGS) -D_GNU_SOURCE
+CPPFLAGS = $(INCLUDE_CPPFLAGS) -D_GNU_SOURCE -DSELF_LIB_NAME="\"/$(INSTALLDIR)/$(TIZEN_TARGET)\""
 CFLAGS = $(WARN_CFLAGS) -fPIC
 CXXFLAGS = $(WARN_CFLAGS) -fPIC
 
index fafe10a..ab5a75e 100755 (executable)
 #include "dahelper.h"
 
 const char *lib_string[NUM_ORIGINAL_LIBRARY] = {
-       "libc.so.6",
-       "libpthread.so.0",
-       "libelementary.so",
-       "libosp-uifw.so",
-       "libosp-appfw.so",
-       "libosp-web.so",
-       "libecore_input_evas.so.1",
-       "libdaemon.so.0",
-       "libcapi-appfw-application.so.0",
-       "libGLESv2.so",
-       "libEGL.so",
-       "libosp-net.so"
+       "libc.so.6",                            //0
+       "libpthread.so.0",                      //1
+       "libelementary.so",                     //2
+       "libosp-uifw.so",                       //3
+       "libosp-appfw.so",                      //4
+       "libosp-web.so",                        //5
+       "libecore_input_evas.so.1",             //6
+       "libdaemon.so.0",                       //7
+       "libcapi-appfw-application.so.0",       //8
+       "libGLESv2.so",                         //9
+       "libEGL.so",                            //10
+       "libosp-net.so",                        //11
+       SELF_LIB_NAME                           //12
 };
 void *lib_handle[NUM_ORIGINAL_LIBRARY];
 
index 9011dff..fe03c53 100644 (file)
@@ -550,80 +550,81 @@ extern "C"{
 
 #define API_ID__SglSwapBuffers                                                                                                                  516 // _SglSwapBuffers
 #define API_ID_eglSwapBuffers                                                                                                                   517 // eglSwapBuffers
-
-#define API_ID__ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameEi                                        518 // _ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameEi###Socket::SetSockOpt
-#define API_ID__ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERKNS1_12LingerOptionE                    519 // _ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERKNS1_12LingerOptionE###Socket::SetSockOpt
-#define API_ID__ZN5Tizen3Net7Sockets6Socket17AddSocketListenerERNS1_20ISocketEventListenerE                                                     520 // _ZN5Tizen3Net7Sockets6Socket17AddSocketListenerERNS1_20ISocketEventListenerE###Socket::AddSocketListener
-#define API_ID__ZN5Tizen3Net7Sockets6Socket20RemoveSocketListenerERNS1_20ISocketEventListenerE                                                  521 // _ZN5Tizen3Net7Sockets6Socket20RemoveSocketListenerERNS1_20ISocketEventListenerE###Socket::RemoveSocketListener
-#define API_ID__ZN5Tizen3Net7Sockets6Socket21AsyncSelectByListenerEm                                                                            522 // _ZN5Tizen3Net7Sockets6Socket21AsyncSelectByListenerEm###Socket::AsyncSelectByListener
-#define API_ID__ZN5Tizen3Net7Sockets6Socket4BindERKNS0_11NetEndPointE                                                                           523 // _ZN5Tizen3Net7Sockets6Socket4BindERKNS0_11NetEndPointE###Socket::Bind
-#define API_ID__ZN5Tizen3Net7Sockets6Socket4SendERNS_4Base10ByteBufferE                                                                         524 // _ZN5Tizen3Net7Sockets6Socket4SendERNS_4Base10ByteBufferE###Socket::Send
-#define API_ID__ZN5Tizen3Net7Sockets6Socket5CloseEv                                                                                             525 // _ZN5Tizen3Net7Sockets6Socket5CloseEv###Socket::Close
-#define API_ID__ZN5Tizen3Net7Sockets6Socket6ListenEi                                                                                            526 // _ZN5Tizen3Net7Sockets6Socket6ListenEi###Socket::Listen
-#define API_ID__ZN5Tizen3Net7Sockets6Socket6SendToEPviRKNS0_11NetEndPointERi                                                                    527 // _ZN5Tizen3Net7Sockets6Socket6SendToEPviRKNS0_11NetEndPointERi###Socket::SendTo
-#define API_ID__ZN5Tizen3Net7Sockets6Socket6SendToERNS_4Base10ByteBufferERKNS0_11NetEndPointE                                                   528 // _ZN5Tizen3Net7Sockets6Socket6SendToERNS_4Base10ByteBufferERKNS0_11NetEndPointE###Socket::SendTo
-#define API_ID__ZN5Tizen3Net7Sockets6Socket7ConnectERKNS0_11NetEndPointE                                                                        529 // _ZN5Tizen3Net7Sockets6Socket7ConnectERKNS0_11NetEndPointE###Socket::Connect
-#define API_ID__ZN5Tizen3Net7Sockets6Socket9ConstructENS1_22NetSocketAddressFamilyENS1_13NetSocketTypeENS1_17NetSocketProtocolE                 530 // _ZN5Tizen3Net7Sockets6Socket9ConstructENS1_22NetSocketAddressFamilyENS1_13NetSocketTypeENS1_17NetSocketProtocolE###Socket::Construct
-#define API_ID__ZN5Tizen3Net7Sockets6Socket9ConstructERKNS0_13NetConnectionENS1_22NetSocketAddressFamilyENS1_13NetSocketTypeENS1_17NetSocketProtocolE 531 // _ZN5Tizen3Net7Sockets6Socket9ConstructERKNS0_13NetConnectionENS1_22NetSocketAddressFamilyENS1_13NetSocketTypeENS1_17NetSocketProtocolE###Socket::Construct
-#define API_ID__ZNK5Tizen3Net7Sockets6Socket10GetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERi                                      532 // _ZNK5Tizen3Net7Sockets6Socket10GetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERi###Socket::GetSockOpt
-#define API_ID__ZNK5Tizen3Net7Sockets6Socket10GetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERNS1_12LingerOptionE                    533 // _ZNK5Tizen3Net7Sockets6Socket10GetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERNS1_12LingerOptionE###Socket::GetSockOpt
-#define API_ID__ZNK5Tizen3Net7Sockets6Socket11ReceiveFromEPviRNS0_11NetEndPointERi                                                              534 // _ZNK5Tizen3Net7Sockets6Socket11ReceiveFromEPviRNS0_11NetEndPointERi###Socket::Receive/Socket::ReceiveFrom
-#define API_ID__ZNK5Tizen3Net7Sockets6Socket11ReceiveFromERNS_4Base10ByteBufferERNS0_11NetEndPointE                                             535 // _ZNK5Tizen3Net7Sockets6Socket11ReceiveFromERNS_4Base10ByteBufferERNS0_11NetEndPointE###Socket::ReceiveFrom
-#define API_ID__ZNK5Tizen3Net7Sockets6Socket5IoctlENS1_17NetSocketIoctlCmdERm                                                                   536 // _ZNK5Tizen3Net7Sockets6Socket5IoctlENS1_17NetSocketIoctlCmdERm###Socket::Ioctl
-#define API_ID__ZNK5Tizen3Net7Sockets6Socket7AcceptNEv                                                                                          537 // _ZNK5Tizen3Net7Sockets6Socket7AcceptNEv###Socket::AcceptN
-#define API_ID__ZNK5Tizen3Net7Sockets6Socket7ReceiveERNS_4Base10ByteBufferE                                                                     538 // _ZNK5Tizen3Net7Sockets6Socket7ReceiveERNS_4Base10ByteBufferE###Socket::Receive
-#define API_ID__ZZN5Tizen3Net7Sockets6Socket4SendEPviRiE19__PRETTY_FUNCTION__                                                                   539 // _ZZN5Tizen3Net7Sockets6Socket4SendEPviRiE19__PRETTY_FUNCTION__###Socket::Send
-
-#define API_ID__ZN5Tizen3Net4Http11HttpRequest15SetCustomMethodERKNS_4Base6StringE                                                              540 // _ZN5Tizen3Net4Http11HttpRequest15SetCustomMethodERKNS_4Base6StringE###Http::HttpRequest::SetCustomMethod
-#define API_ID__ZN5Tizen3Net4Http11HttpRequest6SetUriERKNS_4Base6StringE                                                                        541 // _ZN5Tizen3Net4Http11HttpRequest6SetUriERKNS_4Base6StringE###Http::HttpRequest::SetAcceptEncoding/SetUri/SetVersion/
-#define API_ID__ZN5Tizen3Net4Http11HttpRequest9ReadBodyNEv                                                                                      542 // _ZN5Tizen3Net4Http11HttpRequest9ReadBodyNEv###Http::HttpRequest::ReadBodyN
-#define API_ID__ZN5Tizen3Net4Http11HttpRequest9SetCookieERKNS_4Base6StringE                                                                     543 // _ZN5Tizen3Net4Http11HttpRequest9SetCookieERKNS_4Base6StringE###Http::HttpRequest::SetCookie
-#define API_ID__ZN5Tizen3Net4Http11HttpRequest9SetEntityERNS1_11IHttpEntityE                                                                    544 // _ZN5Tizen3Net4Http11HttpRequest9SetEntityERNS1_11IHttpEntityE###Http::HttpRequest::SetEntity
-#define API_ID__ZN5Tizen3Net4Http11HttpRequest9SetMethodENS1_13NetHttpMethodE                                                                   545 // _ZN5Tizen3Net4Http11HttpRequest9SetMethodENS1_13NetHttpMethodE###Http::HttpRequest::SetMethod
-#define API_ID__ZN5Tizen3Net4Http11HttpRequest9WriteBodyERKNS_4Base10ByteBufferE                                                                546 // _ZN5Tizen3Net4Http11HttpRequest9WriteBodyERKNS_4Base10ByteBufferE###Http::HttpRequest::WriteBody
-#define API_ID__ZN5Tizen3Net4Http11HttpSession16CloseTransactionERNS1_15HttpTransactionE                                                        547 // _ZN5Tizen3Net4Http11HttpSession16CloseTransactionERNS1_15HttpTransactionE###Http::HttpSession::CloseTransaction
-#define API_ID__ZN5Tizen3Net4Http11HttpSession16OpenTransactionNERKNS1_18HttpAuthenticationE                                                    548 // _ZN5Tizen3Net4Http11HttpSession16OpenTransactionNERKNS1_18HttpAuthenticationE###Http::HttpSession::OpenTransactionN
-#define API_ID__ZN5Tizen3Net4Http11HttpSession16OpenTransactionNEv                                                                              549 // _ZN5Tizen3Net4Http11HttpSession16OpenTransactionNEv###Http::HttpSession::OpenTransactionN
-#define API_ID__ZN5Tizen3Net4Http11HttpSession17CancelTransactionERNS1_15HttpTransactionE                                                       550 // _ZN5Tizen3Net4Http11HttpSession17CancelTransactionERNS1_15HttpTransactionE###Http::HttpSession::CancelTransaction
-#define API_ID__ZN5Tizen3Net4Http11HttpSession20CloseAllTransactionsEv                                                                          551 // _ZN5Tizen3Net4Http11HttpSession20CloseAllTransactionsEv###Http::HttpSession::CloseAllTransactions
-#define API_ID__ZN5Tizen3Net4Http11HttpSession25SetAutoRedirectionEnabledEb                                                                     552 // _ZN5Tizen3Net4Http11HttpSession25SetAutoRedirectionEnabledEb###Http::HttpSession::SetAutoRedirectionEnabled
-#define API_ID__ZN5Tizen3Net4Http11HttpSession9ConstructENS1_18NetHttpSessionModeEPKNS_4Base6StringERS6_PKNS1_10HttpHeaderENS1_17NetHttpCookieFlagE 553 // _ZN5Tizen3Net4Http11HttpSession9ConstructENS1_18NetHttpSessionModeEPKNS_4Base6StringERS6_PKNS1_10HttpHeaderENS1_17NetHttpCookieFlagE###Http::HttpSession::Construct
-#define API_ID__ZN5Tizen3Net4Http11HttpSession9ConstructERKNS0_13NetConnectionENS1_18NetHttpSessionModeEPKNS_4Base6StringERS9_PKNS1_10HttpHeaderENS1_17NetHttpCookieFlagE 554 // _ZN5Tizen3Net4Http11HttpSession9ConstructERKNS0_13NetConnectionENS1_18NetHttpSessionModeEPKNS_4Base6StringERS9_PKNS1_10HttpHeaderENS1_17NetHttpCookieFlagE###Http::HttpSession::Construct
-#define API_ID__ZN5Tizen3Net4Http12HttpResponse10SetVersionERKNS_4Base6StringE                                                                  555 // _ZN5Tizen3Net4Http12HttpResponse10SetVersionERKNS_4Base6StringE###Http::HttpResponse::SetVersion
-#define API_ID__ZN5Tizen3Net4Http12HttpResponse13SetStatusCodeENS1_17NetHttpStatusCodeE                                                         556 // _ZN5Tizen3Net4Http12HttpResponse13SetStatusCodeENS1_17NetHttpStatusCodeE###Http::HttpResponse::SetStatusCode
-#define API_ID__ZN5Tizen3Net4Http12HttpResponse13SetStatusTextERKNS_4Base6StringE                                                               557 // _ZN5Tizen3Net4Http12HttpResponse13SetStatusTextERKNS_4Base6StringE###Http::HttpResponse::SetStatusText
-#define API_ID__ZN5Tizen3Net4Http12HttpResponse17SetHttpStatusCodeEi                                                                            558 // _ZN5Tizen3Net4Http12HttpResponse17SetHttpStatusCodeEi###Http::HttpResponse::SetHttpStatusCode
-#define API_ID__ZN5Tizen3Net4Http12HttpResponse4ReadEiiRiS3_                                                                                    559 // _ZN5Tizen3Net4Http12HttpResponse4ReadEiiRiS3_###Http::HttpResponse::Read
-#define API_ID__ZN5Tizen3Net4Http12HttpResponse9ReadBodyNEv                                                                                     560 // _ZN5Tizen3Net4Http12HttpResponse9ReadBodyNEv###Http::HttpResponse::ReadBodyN
-#define API_ID__ZN5Tizen3Net4Http12HttpResponse9SetCookieEPNS1_10HttpHeaderE                                                                    561 // _ZN5Tizen3Net4Http12HttpResponse9SetCookieEPNS1_10HttpHeaderE###Http::HttpResponse::SetCookie
-#define API_ID__ZN5Tizen3Net4Http12HttpResponse9WriteBodyERKNS_4Base10ByteBufferE                                                               562 // _ZN5Tizen3Net4Http12HttpResponse9WriteBodyERKNS_4Base10ByteBufferE###Http::HttpResponse::WriteBody
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction10SetTimeoutEi                                                                                563 // _ZN5Tizen3Net4Http15HttpTransaction10SetTimeoutEi###Http::HttpTransaction::SetTimeout
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction13SetUserObjectEPKNS_4Base6ObjectE                                                            564 // _ZN5Tizen3Net4Http15HttpTransaction13SetUserObjectEPKNS_4Base6ObjectE###Http::HttpTransaction::SetUserObject
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction20SetClientCertificateEi                                                                      565 // _ZN5Tizen3Net4Http15HttpTransaction20SetClientCertificateEi###Http::HttpTransaction::SetClientCertificate
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction23SetHttpProgressListenerERNS1_26IHttpProgressEventListenerE                                  566 // _ZN5Tizen3Net4Http15HttpTransaction23SetHttpProgressListenerERNS1_26IHttpProgressEventListenerE###Http::HttpTransaction::SetHttpProgressListener
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction26AddHttpTransactionListenerERNS1_29IHttpTransactionEventListenerE                            567 // _ZN5Tizen3Net4Http15HttpTransaction26AddHttpTransactionListenerERNS1_29IHttpTransactionEventListenerE###Http::HttpTransaction::AddHttpTransactionListener
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction29EnableTransactionReadyToWriteEv                                                             568 // _ZN5Tizen3Net4Http15HttpTransaction29EnableTransactionReadyToWriteEv###Http::HttpTransaction::EnableTransactionReadyToWrite
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction29RemoveHttpTransactionListenerERNS1_29IHttpTransactionEventListenerE                         569 // _ZN5Tizen3Net4Http15HttpTransaction29RemoveHttpTransactionListenerERNS1_29IHttpTransactionEventListenerE###Http::HttpTransaction::RemoveHttpTransactionListener
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction32SetServerCertificateVerificationENS1_34NetHttpCertificateVerificationFlagE                  570 // _ZN5Tizen3Net4Http15HttpTransaction32SetServerCertificateVerificationENS1_34NetHttpCertificateVerificationFlagE###Http::HttpTransaction::SetServerCertificateVerification
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction5PauseEv                                                                                      571 // _ZN5Tizen3Net4Http15HttpTransaction5PauseEv###Http::HttpTransaction::Pause
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction6ResumeEv                                                                                     572 // _ZN5Tizen3Net4Http15HttpTransaction6ResumeEv###Http::HttpTransaction::Resume
-#define API_ID__ZN5Tizen3Net4Http15HttpTransaction6SubmitEv                                                                                     573 // _ZN5Tizen3Net4Http15HttpTransaction6SubmitEv###Http::HttpTransaction::Submit
-#define API_ID__ZNK5Tizen3Net4Http10HttpHeader13GetRawHeaderNEv                                                                                 574 // _ZNK5Tizen3Net4Http10HttpHeader13GetRawHeaderNEv###Http::HttpHeader::GetRawHeaderN
-#define API_ID__ZNK5Tizen3Net4Http11HttpRequest17GetAcceptEncodingEv                                                                            575 // _ZNK5Tizen3Net4Http11HttpRequest17GetAcceptEncodingEv###Http::HttpRequest::GetAcceptEncoding
-#define API_ID__ZNK5Tizen3Net4Http11HttpRequest9GetCookieEv                                                                                     576 // _ZNK5Tizen3Net4Http11HttpRequest9GetCookieEv###Http::HttpRequest::GetCookie
-#define API_ID__ZNK5Tizen3Net4Http11HttpRequest9GetHeaderEv                                                                                     577 // _ZNK5Tizen3Net4Http11HttpRequest9GetHeaderEv###Http::HttpRequest::GetHeader
-#define API_ID__ZNK5Tizen3Net4Http11HttpSession22GetMaxTransactionCountEv                                                                       578 // _ZNK5Tizen3Net4Http11HttpSession22GetMaxTransactionCountEv###Http::HttpSession::GetMaxTransactionCount
-#define API_ID__ZNK5Tizen3Net4Http11HttpSession23GetCookieStorageManagerEv                                                                      579 // _ZNK5Tizen3Net4Http11HttpSession23GetCookieStorageManagerEv###Http::HttpSession::GetCookieStorageManager
-#define API_ID__ZNK5Tizen3Net4Http11HttpSession24IsAutoRedirectionEnabledEv                                                                     580 // _ZNK5Tizen3Net4Http11HttpSession24IsAutoRedirectionEnabledEv###Http::HttpSession::IsAutoRedirectionEnabled
-#define API_ID__ZNK5Tizen3Net4Http11HttpSession25GetActiveTransactionCountEv                                                                    581 // _ZNK5Tizen3Net4Http11HttpSession25GetActiveTransactionCountEv###Http::HttpSession::GetActiveTransactionCount
-#define API_ID__ZNK5Tizen3Net4Http12HttpResponse10GetCookiesEv                                                                                  582 // _ZNK5Tizen3Net4Http12HttpResponse10GetCookiesEv###Http::HttpResponse::GetCookies
-#define API_ID__ZNK5Tizen3Net4Http12HttpResponse10GetVersionEv                                                                                  583 // _ZNK5Tizen3Net4Http12HttpResponse10GetVersionEv###Http::HttpResponse::GetVersion
-#define API_ID__ZNK5Tizen3Net4Http12HttpResponse13GetStatusTextEv                                                                               584 // _ZNK5Tizen3Net4Http12HttpResponse13GetStatusTextEv###Http::HttpResponse::GetStatusText
-#define API_ID__ZNK5Tizen3Net4Http12HttpResponse17GetHttpStatusCodeEv                                                                           585 // _ZNK5Tizen3Net4Http12HttpResponse17GetHttpStatusCodeEv###Http::HttpResponse::GetHttpStatusCode/GetStatusCode
-#define API_ID__ZNK5Tizen3Net4Http12HttpResponse9GetHeaderEv                                                                                    586 // _ZNK5Tizen3Net4Http12HttpResponse9GetHeaderEv###Http::HttpResponse::GetHeader
-#define API_ID__ZNK5Tizen3Net4Http15HttpTransaction10GetRequestEv                                                                               587 // _ZNK5Tizen3Net4Http15HttpTransaction10GetRequestEv###Http::HttpTransaction::GetRequest/OpenAuthenticationInfoN
-#define API_ID__ZNK5Tizen3Net4Http15HttpTransaction11GetResponseEv                                                                              588 // _ZNK5Tizen3Net4Http15HttpTransaction11GetResponseEv###Http::HttpTransaction::GetResponse
-#define API_ID__ZNK5Tizen3Net4Http15HttpTransaction13GetUserObjectEv                                                                            589 // _ZNK5Tizen3Net4Http15HttpTransaction13GetUserObjectEv###Http::HttpTransaction::GetUserObject
+#define API_ID_eglGetProcAddress                                                                                                                518 // eglGetProcAddress
+
+#define API_ID__ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameEi                                        519 // _ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameEi###Socket::SetSockOpt
+#define API_ID__ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERKNS1_12LingerOptionE                    520 // _ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERKNS1_12LingerOptionE###Socket::SetSockOpt
+#define API_ID__ZN5Tizen3Net7Sockets6Socket17AddSocketListenerERNS1_20ISocketEventListenerE                                                     521 // _ZN5Tizen3Net7Sockets6Socket17AddSocketListenerERNS1_20ISocketEventListenerE###Socket::AddSocketListener
+#define API_ID__ZN5Tizen3Net7Sockets6Socket20RemoveSocketListenerERNS1_20ISocketEventListenerE                                                  522 // _ZN5Tizen3Net7Sockets6Socket20RemoveSocketListenerERNS1_20ISocketEventListenerE###Socket::RemoveSocketListener
+#define API_ID__ZN5Tizen3Net7Sockets6Socket21AsyncSelectByListenerEm                                                                            523 // _ZN5Tizen3Net7Sockets6Socket21AsyncSelectByListenerEm###Socket::AsyncSelectByListener
+#define API_ID__ZN5Tizen3Net7Sockets6Socket4BindERKNS0_11NetEndPointE                                                                           524 // _ZN5Tizen3Net7Sockets6Socket4BindERKNS0_11NetEndPointE###Socket::Bind
+#define API_ID__ZN5Tizen3Net7Sockets6Socket4SendERNS_4Base10ByteBufferE                                                                         525 // _ZN5Tizen3Net7Sockets6Socket4SendERNS_4Base10ByteBufferE###Socket::Send
+#define API_ID__ZN5Tizen3Net7Sockets6Socket5CloseEv                                                                                             526 // _ZN5Tizen3Net7Sockets6Socket5CloseEv###Socket::Close
+#define API_ID__ZN5Tizen3Net7Sockets6Socket6ListenEi                                                                                            527 // _ZN5Tizen3Net7Sockets6Socket6ListenEi###Socket::Listen
+#define API_ID__ZN5Tizen3Net7Sockets6Socket6SendToEPviRKNS0_11NetEndPointERi                                                                    528 // _ZN5Tizen3Net7Sockets6Socket6SendToEPviRKNS0_11NetEndPointERi###Socket::SendTo
+#define API_ID__ZN5Tizen3Net7Sockets6Socket6SendToERNS_4Base10ByteBufferERKNS0_11NetEndPointE                                                   529 // _ZN5Tizen3Net7Sockets6Socket6SendToERNS_4Base10ByteBufferERKNS0_11NetEndPointE###Socket::SendTo
+#define API_ID__ZN5Tizen3Net7Sockets6Socket7ConnectERKNS0_11NetEndPointE                                                                        530 // _ZN5Tizen3Net7Sockets6Socket7ConnectERKNS0_11NetEndPointE###Socket::Connect
+#define API_ID__ZN5Tizen3Net7Sockets6Socket9ConstructENS1_22NetSocketAddressFamilyENS1_13NetSocketTypeENS1_17NetSocketProtocolE                 531 // _ZN5Tizen3Net7Sockets6Socket9ConstructENS1_22NetSocketAddressFamilyENS1_13NetSocketTypeENS1_17NetSocketProtocolE###Socket::Construct
+#define API_ID__ZN5Tizen3Net7Sockets6Socket9ConstructERKNS0_13NetConnectionENS1_22NetSocketAddressFamilyENS1_13NetSocketTypeENS1_17NetSocketProtocolE 532 // _ZN5Tizen3Net7Sockets6Socket9ConstructERKNS0_13NetConnectionENS1_22NetSocketAddressFamilyENS1_13NetSocketTypeENS1_17NetSocketProtocolE###Socket::Construct
+#define API_ID__ZNK5Tizen3Net7Sockets6Socket10GetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERi                                      533 // _ZNK5Tizen3Net7Sockets6Socket10GetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERi###Socket::GetSockOpt
+#define API_ID__ZNK5Tizen3Net7Sockets6Socket10GetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERNS1_12LingerOptionE                    534 // _ZNK5Tizen3Net7Sockets6Socket10GetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERNS1_12LingerOptionE###Socket::GetSockOpt
+#define API_ID__ZNK5Tizen3Net7Sockets6Socket11ReceiveFromEPviRNS0_11NetEndPointERi                                                              535 // _ZNK5Tizen3Net7Sockets6Socket11ReceiveFromEPviRNS0_11NetEndPointERi###Socket::Receive/Socket::ReceiveFrom
+#define API_ID__ZNK5Tizen3Net7Sockets6Socket11ReceiveFromERNS_4Base10ByteBufferERNS0_11NetEndPointE                                             536 // _ZNK5Tizen3Net7Sockets6Socket11ReceiveFromERNS_4Base10ByteBufferERNS0_11NetEndPointE###Socket::ReceiveFrom
+#define API_ID__ZNK5Tizen3Net7Sockets6Socket5IoctlENS1_17NetSocketIoctlCmdERm                                                                   537 // _ZNK5Tizen3Net7Sockets6Socket5IoctlENS1_17NetSocketIoctlCmdERm###Socket::Ioctl
+#define API_ID__ZNK5Tizen3Net7Sockets6Socket7AcceptNEv                                                                                          538 // _ZNK5Tizen3Net7Sockets6Socket7AcceptNEv###Socket::AcceptN
+#define API_ID__ZNK5Tizen3Net7Sockets6Socket7ReceiveERNS_4Base10ByteBufferE                                                                     539 // _ZNK5Tizen3Net7Sockets6Socket7ReceiveERNS_4Base10ByteBufferE###Socket::Receive
+#define API_ID__ZZN5Tizen3Net7Sockets6Socket4SendEPviRiE19__PRETTY_FUNCTION__                                                                   540 // _ZZN5Tizen3Net7Sockets6Socket4SendEPviRiE19__PRETTY_FUNCTION__###Socket::Send
+
+#define API_ID__ZN5Tizen3Net4Http11HttpRequest15SetCustomMethodERKNS_4Base6StringE                                                              541 // _ZN5Tizen3Net4Http11HttpRequest15SetCustomMethodERKNS_4Base6StringE###Http::HttpRequest::SetCustomMethod
+#define API_ID__ZN5Tizen3Net4Http11HttpRequest6SetUriERKNS_4Base6StringE                                                                        542 // _ZN5Tizen3Net4Http11HttpRequest6SetUriERKNS_4Base6StringE###Http::HttpRequest::SetAcceptEncoding/SetUri/SetVersion/
+#define API_ID__ZN5Tizen3Net4Http11HttpRequest9ReadBodyNEv                                                                                      543 // _ZN5Tizen3Net4Http11HttpRequest9ReadBodyNEv###Http::HttpRequest::ReadBodyN
+#define API_ID__ZN5Tizen3Net4Http11HttpRequest9SetCookieERKNS_4Base6StringE                                                                     544 // _ZN5Tizen3Net4Http11HttpRequest9SetCookieERKNS_4Base6StringE###Http::HttpRequest::SetCookie
+#define API_ID__ZN5Tizen3Net4Http11HttpRequest9SetEntityERNS1_11IHttpEntityE                                                                    545 // _ZN5Tizen3Net4Http11HttpRequest9SetEntityERNS1_11IHttpEntityE###Http::HttpRequest::SetEntity
+#define API_ID__ZN5Tizen3Net4Http11HttpRequest9SetMethodENS1_13NetHttpMethodE                                                                   546 // _ZN5Tizen3Net4Http11HttpRequest9SetMethodENS1_13NetHttpMethodE###Http::HttpRequest::SetMethod
+#define API_ID__ZN5Tizen3Net4Http11HttpRequest9WriteBodyERKNS_4Base10ByteBufferE                                                                547 // _ZN5Tizen3Net4Http11HttpRequest9WriteBodyERKNS_4Base10ByteBufferE###Http::HttpRequest::WriteBody
+#define API_ID__ZN5Tizen3Net4Http11HttpSession16CloseTransactionERNS1_15HttpTransactionE                                                        548 // _ZN5Tizen3Net4Http11HttpSession16CloseTransactionERNS1_15HttpTransactionE###Http::HttpSession::CloseTransaction
+#define API_ID__ZN5Tizen3Net4Http11HttpSession16OpenTransactionNERKNS1_18HttpAuthenticationE                                                    549 // _ZN5Tizen3Net4Http11HttpSession16OpenTransactionNERKNS1_18HttpAuthenticationE###Http::HttpSession::OpenTransactionN
+#define API_ID__ZN5Tizen3Net4Http11HttpSession16OpenTransactionNEv                                                                              550 // _ZN5Tizen3Net4Http11HttpSession16OpenTransactionNEv###Http::HttpSession::OpenTransactionN
+#define API_ID__ZN5Tizen3Net4Http11HttpSession17CancelTransactionERNS1_15HttpTransactionE                                                       551 // _ZN5Tizen3Net4Http11HttpSession17CancelTransactionERNS1_15HttpTransactionE###Http::HttpSession::CancelTransaction
+#define API_ID__ZN5Tizen3Net4Http11HttpSession20CloseAllTransactionsEv                                                                          552 // _ZN5Tizen3Net4Http11HttpSession20CloseAllTransactionsEv###Http::HttpSession::CloseAllTransactions
+#define API_ID__ZN5Tizen3Net4Http11HttpSession25SetAutoRedirectionEnabledEb                                                                     553 // _ZN5Tizen3Net4Http11HttpSession25SetAutoRedirectionEnabledEb###Http::HttpSession::SetAutoRedirectionEnabled
+#define API_ID__ZN5Tizen3Net4Http11HttpSession9ConstructENS1_18NetHttpSessionModeEPKNS_4Base6StringERS6_PKNS1_10HttpHeaderENS1_17NetHttpCookieFlagE 554 // _ZN5Tizen3Net4Http11HttpSession9ConstructENS1_18NetHttpSessionModeEPKNS_4Base6StringERS6_PKNS1_10HttpHeaderENS1_17NetHttpCookieFlagE###Http::HttpSession::Construct
+#define API_ID__ZN5Tizen3Net4Http11HttpSession9ConstructERKNS0_13NetConnectionENS1_18NetHttpSessionModeEPKNS_4Base6StringERS9_PKNS1_10HttpHeaderENS1_17NetHttpCookieFlagE 555 // _ZN5Tizen3Net4Http11HttpSession9ConstructERKNS0_13NetConnectionENS1_18NetHttpSessionModeEPKNS_4Base6StringERS9_PKNS1_10HttpHeaderENS1_17NetHttpCookieFlagE###Http::HttpSession::Construct
+#define API_ID__ZN5Tizen3Net4Http12HttpResponse10SetVersionERKNS_4Base6StringE                                                                  556 // _ZN5Tizen3Net4Http12HttpResponse10SetVersionERKNS_4Base6StringE###Http::HttpResponse::SetVersion
+#define API_ID__ZN5Tizen3Net4Http12HttpResponse13SetStatusCodeENS1_17NetHttpStatusCodeE                                                         557 // _ZN5Tizen3Net4Http12HttpResponse13SetStatusCodeENS1_17NetHttpStatusCodeE###Http::HttpResponse::SetStatusCode
+#define API_ID__ZN5Tizen3Net4Http12HttpResponse13SetStatusTextERKNS_4Base6StringE                                                               558 // _ZN5Tizen3Net4Http12HttpResponse13SetStatusTextERKNS_4Base6StringE###Http::HttpResponse::SetStatusText
+#define API_ID__ZN5Tizen3Net4Http12HttpResponse17SetHttpStatusCodeEi                                                                            559 // _ZN5Tizen3Net4Http12HttpResponse17SetHttpStatusCodeEi###Http::HttpResponse::SetHttpStatusCode
+#define API_ID__ZN5Tizen3Net4Http12HttpResponse4ReadEiiRiS3_                                                                                    560 // _ZN5Tizen3Net4Http12HttpResponse4ReadEiiRiS3_###Http::HttpResponse::Read
+#define API_ID__ZN5Tizen3Net4Http12HttpResponse9ReadBodyNEv                                                                                     561 // _ZN5Tizen3Net4Http12HttpResponse9ReadBodyNEv###Http::HttpResponse::ReadBodyN
+#define API_ID__ZN5Tizen3Net4Http12HttpResponse9SetCookieEPNS1_10HttpHeaderE                                                                    562 // _ZN5Tizen3Net4Http12HttpResponse9SetCookieEPNS1_10HttpHeaderE###Http::HttpResponse::SetCookie
+#define API_ID__ZN5Tizen3Net4Http12HttpResponse9WriteBodyERKNS_4Base10ByteBufferE                                                               563 // _ZN5Tizen3Net4Http12HttpResponse9WriteBodyERKNS_4Base10ByteBufferE###Http::HttpResponse::WriteBody
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction10SetTimeoutEi                                                                                564 // _ZN5Tizen3Net4Http15HttpTransaction10SetTimeoutEi###Http::HttpTransaction::SetTimeout
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction13SetUserObjectEPKNS_4Base6ObjectE                                                            565 // _ZN5Tizen3Net4Http15HttpTransaction13SetUserObjectEPKNS_4Base6ObjectE###Http::HttpTransaction::SetUserObject
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction20SetClientCertificateEi                                                                      566 // _ZN5Tizen3Net4Http15HttpTransaction20SetClientCertificateEi###Http::HttpTransaction::SetClientCertificate
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction23SetHttpProgressListenerERNS1_26IHttpProgressEventListenerE                                  567 // _ZN5Tizen3Net4Http15HttpTransaction23SetHttpProgressListenerERNS1_26IHttpProgressEventListenerE###Http::HttpTransaction::SetHttpProgressListener
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction26AddHttpTransactionListenerERNS1_29IHttpTransactionEventListenerE                            568 // _ZN5Tizen3Net4Http15HttpTransaction26AddHttpTransactionListenerERNS1_29IHttpTransactionEventListenerE###Http::HttpTransaction::AddHttpTransactionListener
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction29EnableTransactionReadyToWriteEv                                                             569 // _ZN5Tizen3Net4Http15HttpTransaction29EnableTransactionReadyToWriteEv###Http::HttpTransaction::EnableTransactionReadyToWrite
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction29RemoveHttpTransactionListenerERNS1_29IHttpTransactionEventListenerE                         570 // _ZN5Tizen3Net4Http15HttpTransaction29RemoveHttpTransactionListenerERNS1_29IHttpTransactionEventListenerE###Http::HttpTransaction::RemoveHttpTransactionListener
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction32SetServerCertificateVerificationENS1_34NetHttpCertificateVerificationFlagE                  571 // _ZN5Tizen3Net4Http15HttpTransaction32SetServerCertificateVerificationENS1_34NetHttpCertificateVerificationFlagE###Http::HttpTransaction::SetServerCertificateVerification
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction5PauseEv                                                                                      572 // _ZN5Tizen3Net4Http15HttpTransaction5PauseEv###Http::HttpTransaction::Pause
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction6ResumeEv                                                                                     573 // _ZN5Tizen3Net4Http15HttpTransaction6ResumeEv###Http::HttpTransaction::Resume
+#define API_ID__ZN5Tizen3Net4Http15HttpTransaction6SubmitEv                                                                                     574 // _ZN5Tizen3Net4Http15HttpTransaction6SubmitEv###Http::HttpTransaction::Submit
+#define API_ID__ZNK5Tizen3Net4Http10HttpHeader13GetRawHeaderNEv                                                                                 575 // _ZNK5Tizen3Net4Http10HttpHeader13GetRawHeaderNEv###Http::HttpHeader::GetRawHeaderN
+#define API_ID__ZNK5Tizen3Net4Http11HttpRequest17GetAcceptEncodingEv                                                                            576 // _ZNK5Tizen3Net4Http11HttpRequest17GetAcceptEncodingEv###Http::HttpRequest::GetAcceptEncoding
+#define API_ID__ZNK5Tizen3Net4Http11HttpRequest9GetCookieEv                                                                                     577 // _ZNK5Tizen3Net4Http11HttpRequest9GetCookieEv###Http::HttpRequest::GetCookie
+#define API_ID__ZNK5Tizen3Net4Http11HttpRequest9GetHeaderEv                                                                                     578 // _ZNK5Tizen3Net4Http11HttpRequest9GetHeaderEv###Http::HttpRequest::GetHeader
+#define API_ID__ZNK5Tizen3Net4Http11HttpSession22GetMaxTransactionCountEv                                                                       579 // _ZNK5Tizen3Net4Http11HttpSession22GetMaxTransactionCountEv###Http::HttpSession::GetMaxTransactionCount
+#define API_ID__ZNK5Tizen3Net4Http11HttpSession23GetCookieStorageManagerEv                                                                      580 // _ZNK5Tizen3Net4Http11HttpSession23GetCookieStorageManagerEv###Http::HttpSession::GetCookieStorageManager
+#define API_ID__ZNK5Tizen3Net4Http11HttpSession24IsAutoRedirectionEnabledEv                                                                     581 // _ZNK5Tizen3Net4Http11HttpSession24IsAutoRedirectionEnabledEv###Http::HttpSession::IsAutoRedirectionEnabled
+#define API_ID__ZNK5Tizen3Net4Http11HttpSession25GetActiveTransactionCountEv                                                                    582 // _ZNK5Tizen3Net4Http11HttpSession25GetActiveTransactionCountEv###Http::HttpSession::GetActiveTransactionCount
+#define API_ID__ZNK5Tizen3Net4Http12HttpResponse10GetCookiesEv                                                                                  583 // _ZNK5Tizen3Net4Http12HttpResponse10GetCookiesEv###Http::HttpResponse::GetCookies
+#define API_ID__ZNK5Tizen3Net4Http12HttpResponse10GetVersionEv                                                                                  584 // _ZNK5Tizen3Net4Http12HttpResponse10GetVersionEv###Http::HttpResponse::GetVersion
+#define API_ID__ZNK5Tizen3Net4Http12HttpResponse13GetStatusTextEv                                                                               585 // _ZNK5Tizen3Net4Http12HttpResponse13GetStatusTextEv###Http::HttpResponse::GetStatusText
+#define API_ID__ZNK5Tizen3Net4Http12HttpResponse17GetHttpStatusCodeEv                                                                           586 // _ZNK5Tizen3Net4Http12HttpResponse17GetHttpStatusCodeEv###Http::HttpResponse::GetHttpStatusCode/GetStatusCode
+#define API_ID__ZNK5Tizen3Net4Http12HttpResponse9GetHeaderEv                                                                                    587 // _ZNK5Tizen3Net4Http12HttpResponse9GetHeaderEv###Http::HttpResponse::GetHeader
+#define API_ID__ZNK5Tizen3Net4Http15HttpTransaction10GetRequestEv                                                                               588 // _ZNK5Tizen3Net4Http15HttpTransaction10GetRequestEv###Http::HttpTransaction::GetRequest/OpenAuthenticationInfoN
+#define API_ID__ZNK5Tizen3Net4Http15HttpTransaction11GetResponseEv                                                                              589 // _ZNK5Tizen3Net4Http15HttpTransaction11GetResponseEv###Http::HttpTransaction::GetResponse
+#define API_ID__ZNK5Tizen3Net4Http15HttpTransaction13GetUserObjectEv                                                                            590 // _ZNK5Tizen3Net4Http15HttpTransaction13GetUserObjectEv###Http::HttpTransaction::GetUserObject
 
 
 #ifdef __cplusplus
index 2a4f95c..721a403 100755 (executable)
@@ -136,7 +136,7 @@ extern "C"{
                }                                                                                                               \
        } while(0)
 
-#define        NUM_ORIGINAL_LIBRARY    12
+#define        NUM_ORIGINAL_LIBRARY    13
 
 typedef enum
 {
@@ -151,7 +151,8 @@ typedef enum
        LIBCAPI_APPFW_APPLICATION = 8,
        LIBGLES20 = 9,
        LIBEGL = 10,
-       LIBOSP_NET = 11
+       LIBOSP_NET = 11,
+       LIBSELF = 12
 } ORIGINAL_LIBRARY;
 
 extern const char *lib_string[NUM_ORIGINAL_LIBRARY];
index 38d8371..5e6a761 100644 (file)
@@ -45,8 +45,6 @@
 #define APITYPE_CONTEXT 1
 #define APITYPE_NO_CONTEXT 2
 
-char contextValue[256];
-
 #define PACK_GL_ADD(GL_api_type, GL_elapsed_time, GL_context_value)            \
        do {                                                    \
                BUF_PTR = pack_int32(BUF_PTR, (uint32_t)GL_api_type);   \
@@ -99,33 +97,37 @@ char contextValue[256];
        }                                                               \
        PRE_PROBEBLOCK()
 
+#define INIT_LIB_ID_STR(LIB_ID, LIB_STR, KEYS)                                                 \
+               if (lib_handle[LIB_ID] == ((void *) 0)) {               \
+                       lib_handle[LIB_ID] = dlopen(LIB_STR, RTLD_LAZY | RTLD_GLOBAL); \
+                       if (lib_handle[LIB_ID] == ((void *) 0)) {       \
+                               char perror_msg[128];                   \
+                               sprintf(perror_msg, "dlopen failed : [%s],%s", \
+                                       __FUNCTION__, LIB_STR);                 \
+                               perror(perror_msg);                             \
+                               exit(0);                                \
+                       }                                               \
+               }
+
+#define INIT_LIB(LIB_ID, KEYS)                                         \
+       INIT_LIB_ID_STR(LIB_ID, lib_string[LIB_ID], KEYS)
+
 #define BEFORE_EGL(FUNCNAME)                                   \
-       DECLARE_VARIABLE_STANDARD_NORET;                        \
-       GLenum error = GL_NO_ERROR;                             \
-       static methodType FUNCNAME ## p = 0;                    \
-       void* tmpPtr = 0;                                       \
-       int32_t vAPI_ID = API_ID_ ## FUNCNAME;                  \
+       DECLARE_VARIABLE_STANDARD_NORET;                                \
+       GLenum error = GL_NO_ERROR;                                     \
+       static methodType FUNCNAME ## p = 0;                            \
+       void* tmpPtr = 0;                                               \
+       int32_t vAPI_ID = API_ID_ ## FUNCNAME;                          \
        uint64_t start_nsec = get_current_nsec();                       \
        if(!FUNCNAME##p) {                                              \
                probeBlockStart();                                      \
-               if (lib_handle[LIBEGL] == ((void *) 0)) {               \
-                       lib_handle[LIBEGL] = dlopen(lib_string[LIBEGL], RTLD_LAZY | RTLD_GLOBAL); \
-                       if (lib_handle[LIBEGL] == ((void *) 0)) {       \
-                               char perror_msg[128];                   \
-                               sprintf(perror_msg, "dlopen failed : %s", \
-                                       lib_string[LIBEGL]);            \
-                               perror(perror_msg);                     \
-                               exit(0);                                \
-                       }                                               \
-               }                                                       \
-                                                                       \
-               tmpPtr = dlsym(lib_handle[LIBEGL], #FUNCNAME);     \
+               INIT_LIB(LIBEGL, RTLD_LAZY | RTLD_GLOBAL);              \
+               tmpPtr = dlsym(lib_handle[LIBEGL], #FUNCNAME);          \
                if (tmpPtr == NULL || dlerror() != NULL) {              \
-                       perror("dlsym failed : " #FUNCNAME);       \
+                       perror("dlsym failed : " #FUNCNAME);            \
                        exit(0);                                        \
                }                                                       \
-                                                                       \
-               memcpy(&FUNCNAME##p, &tmpPtr, sizeof(tmpPtr));     \
+               memcpy(&FUNCNAME##p, &tmpPtr, sizeof(tmpPtr));          \
                probeBlockEnd();                                        \
        }                                                               \
        PRE_PROBEBLOCK()
@@ -139,24 +141,13 @@ char contextValue[256];
        uint64_t start_nsec = get_current_nsec();                               \
        if(!FUNCNAME##p) {                                              \
                probeBlockStart();                                      \
-               if (lib_handle[LIBOSP_UIFW] == ((void *) 0)) {          \
-                       lib_handle[LIBOSP_UIFW] = dlopen(lib_string[LIBOSP_UIFW], RTLD_LAZY); \
-                       if (lib_handle[LIBOSP_UIFW] == ((void *) 0)) {       \
-                               char perror_msg[128];                   \
-                               sprintf(perror_msg, "dlopen failed : %s", \
-                                       lib_string[LIBOSP_UIFW]);               \
-                               perror(perror_msg);                     \
-                               exit(0);                                \
-                       }                                               \
-               }                                                       \
-                                                                       \
+               INIT_LIB(LIBOSP_UIFW, RTLD_LAZY);                       \
                tmpPtr = dlsym(lib_handle[LIBOSP_UIFW], #FUNCNAME);     \
                if (tmpPtr == NULL || dlerror() != NULL) {              \
-                       perror("dlsym failed : " #FUNCNAME);       \
+                       perror("dlsym failed : " #FUNCNAME);            \
                        exit(0);                                        \
                }                                                       \
-                                                                       \
-               memcpy(&FUNCNAME##p, &tmpPtr, sizeof(tmpPtr));     \
+               memcpy(&FUNCNAME##p, &tmpPtr, sizeof(tmpPtr));          \
                probeBlockEnd();                                        \
        }                                                               \
        PRE_PROBEBLOCK()
diff --git a/probe_graphics/da_gles20_native.cpp b/probe_graphics/da_gles20_native.cpp
new file mode 100644 (file)
index 0000000..cb41fc2
--- /dev/null
@@ -0,0 +1,99 @@
+/*
+ *  DA probe
+ *
+ * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ *
+ * Vitaliy Cherepanov <v.cherepanov@samsung.com>
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the
+ * Free Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; if not, write to the Free Software Foundation, Inc., 51
+ * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Contributors:
+ * - Samsung RnD Institute Russia
+ *
+ */
+
+//disable tizen redefines
+#define _GL2_MACRO_H_
+#define _GL_MACRO_H_
+
+extern "C" {
+/*
+ * this include to make C native open gl functions
+ * probe prototypes
+ *
+ */
+
+#include "da_gles20_tizen.cpp"
+
+} /* extern C */
+
+#undef eglSwapBuffers
+extern "C" EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
+{
+       typedef EGLBoolean (*methodType)(EGLDisplay, EGLSurface);
+       BEFORE_EGL(eglSwapBuffers);
+       EGLBoolean ret = eglSwapBuffersp(dpy, surface);
+       error = eglGetError();
+       AFTER_NO_PARAM('d', ret, APITYPE_CONTEXT, "");
+
+       return ret;
+}
+#define eglSwapBuffers _SglSwapBuffers
+
+EGLBoolean _SglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
+{
+       typedef EGLBoolean (*methodType)(EGLDisplay, EGLSurface);
+       BEFORE_OSP_UIFW(_SglSwapBuffers);
+       EGLBoolean ret = _SglSwapBuffersp(dpy, surface);
+       error = eglGetError();
+       AFTER_NO_PARAM('d', ret, APITYPE_CONTEXT, "");
+
+       return ret;
+}
+
+#undef eglGetProcAddress
+extern "C" EGLAPI __eglMustCastToProperFunctionPointerType
+eglGetProcAddress(const char* procname)
+{
+       typedef EGLAPI __eglMustCastToProperFunctionPointerType
+               (*methodType)(const char* procname);
+       __eglMustCastToProperFunctionPointerType ret = NULL;
+
+       BEFORE_EGL(eglGetProcAddress);
+
+       probeBlockStart();
+       INIT_LIB(LIBSELF, RTLD_LAZY | RTLD_GLOBAL);
+       ret = (typeof(ret)) dlsym(lib_handle[LIBSELF], procname);
+       if (dlerror() != NULL)
+               ret = NULL;
+       probeBlockEnd();
+
+       if (ret == NULL) {
+               // we don't have <procname> function in our lib
+               // so we need find original function
+               ret = eglGetProcAddressp(procname);
+               error = eglGetError();
+       }
+
+       AFTER_NO_PARAM('p', ret, APITYPE_CONTEXT, "");
+       return ret;
+
+}
+#define eglGetProcAddress _eglGetProcAddress
+
+#undef _GL2_MACRO_H_
+#undef _GL_MACRO_H_
similarity index 98%
rename from probe_graphics/da_gles20.cpp
rename to probe_graphics/da_gles20_tizen.cpp
index 6ae5a24..251c69f 100644 (file)
  *
  * Contributors:
  * - S-Core Co., Ltd
+ * - Samsung RnD Institute Russia
  *
  */
+
 #include "da_gles20.h"
+#include "daprobe.h"
 #include "binproto.h"
 
+static char contextValue[256];
 static enum DaOptions _sopt = OPT_GLES;
 
 // ==================================================================
@@ -480,28 +484,6 @@ void glEnableVertexAttribArray(GLuint index) {
        AFTER('v', NO_RETURN_VALUE, APITYPE_CONTEXT, "", "d", index);
 }
 
-#undef eglSwapBuffers
-extern "C" EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface surface) {
-       typedef EGLBoolean (*methodType)(EGLDisplay, EGLSurface);
-       BEFORE_EGL(eglSwapBuffers);
-       EGLBoolean ret = eglSwapBuffersp(dpy, surface);
-       error = eglGetError();
-       AFTER_NO_PARAM('d', ret, APITYPE_CONTEXT, "");
-
-       return ret;
-}
-#define eglSwapBuffers _SglSwapBuffers
-
-EGLBoolean _SglSwapBuffers(EGLDisplay dpy, EGLSurface surface) {
-       typedef EGLBoolean (*methodType)(EGLDisplay, EGLSurface);
-       BEFORE_OSP_UIFW(_SglSwapBuffers);
-       EGLBoolean ret = _SglSwapBuffersp(dpy, surface);
-       error = eglGetError();
-       AFTER_NO_PARAM('d', ret, APITYPE_CONTEXT, "");
-
-       return ret;
-}
-
 // ==================================================================
 // F 5
 // ==================================================================
index 8db4864..54b6a43 100644 (file)
@@ -539,6 +539,7 @@ glIsTexture
 
 _SglSwapBuffers
 eglSwapBuffers
+eglGetProcAddress
 
 _ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameEi###Socket::SetSockOpt
 _ZN5Tizen3Net7Sockets6Socket10SetSockOptENS1_17NetSocketOptLevelENS1_16NetSocketOptNameERKNS1_12LingerOptionE###Socket::SetSockOpt