4 * Copyright 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
8 * Woojin Jung <woojin2.jung@samsung.com>
9 * Jaewon Lim <jaewon81.lim@samsung.com>
10 * Juyoung Kim <j0.kim@samsung.com>
11 * Anastasia Lyupa <a.lyupa@samsung.com>
13 * This library is free software; you can redistribute it and/or modify it under
14 * the terms of the GNU Lesser General Public License as published by the
15 * Free Software Foundation; either version 2.1 of the License, or (at your option)
18 * This library is distributed in the hope that it will be useful, but WITHOUT ANY
19 * WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
21 * License for more details.
23 * You should have received a copy of the GNU Lesser General Public License
24 * along with this library; if not, write to the Free Software Foundation, Inc., 51
25 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
29 * - Samsung RnD Institute Russia
36 #include "probeinfo.h"
41 static enum DaOptions _sopt = OPT_THREAD;
47 result Mutex::Create(void) {
49 (Mutex::*methodType)(void);
50 static methodType Createp = 0;
52 probeInfo_t probeInfo;
54 bool bfiltering = true;
59 if(lib_handle[LIBOSP_APPFW] == NULL) {
60 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
61 if (lib_handle[LIBOSP_APPFW] == NULL) {
62 perror("dlopen failed : libosp-appfw.so");
66 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime5Mutex6CreateEv");
68 if (tmpPtr == NULL || dlerror() != NULL) {
69 perror("dlsym failed : Tizen::Base::Runtime::Mutex::Create");
73 memcpy(&Createp, &tmpPtr, sizeof(tmpPtr));
78 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
79 setProbePoint(&probeInfo);
83 ret = (this->*Createp)();
85 if (postBlockBegin(blockresult)) {
88 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
89 API_ID_result_Mutex__Create_void_,
91 PACK_COMMON_END('x', ret, ret, blockresult);
92 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MUTEX, SYNC_API_NEW);
100 result Mutex::Create(const Tizen::Base::String& name) {
102 (Mutex::*methodType)(const Tizen::Base::String& name);
103 static methodType Createp = 0;
105 probeInfo_t probeInfo;
107 bool bfiltering = true;
113 if(lib_handle[LIBOSP_APPFW] == NULL) {
114 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
115 if (lib_handle[LIBOSP_APPFW] == NULL) {
116 perror("dlopen failed : libosp-appfw.so");
120 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime5Mutex6CreateERKNS0_6StringE");
122 if (tmpPtr == NULL || dlerror() != NULL) {
123 perror("dlsym failed : Tizen::Base::Runtime::Mutex::Create");
127 memcpy(&Createp, &tmpPtr, sizeof(tmpPtr));
132 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
133 setProbePoint(&probeInfo);
137 ret = (this->*Createp)(name);
139 if (postBlockBegin(blockresult)) {
141 WcharToChar(temp, name.GetPointer());
144 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
145 API_ID_result_Mutex__Create_const_Tizen__Base__String__name_,
147 PACK_COMMON_END('x', ret, ret, blockresult);
148 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MUTEX, SYNC_API_NEW);
156 result Mutex::Release(void) {
158 (Mutex::*methodType)(void);
159 static methodType Releasep = 0;
161 probeInfo_t probeInfo;
163 bool bfiltering = true;
168 if(lib_handle[LIBOSP_APPFW] == NULL) {
169 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
170 if (lib_handle[LIBOSP_APPFW] == NULL) {
171 perror("dlopen failed : libosp-appfw.so");
175 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime5Mutex7ReleaseEv");
177 if (tmpPtr == NULL || dlerror() != NULL) {
178 perror("dlsym failed : Tizen::Base::Runtime::Mutex::Release");
182 memcpy(&Releasep, &tmpPtr, sizeof(tmpPtr));
187 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
188 setProbePoint(&probeInfo);
192 ret = (this->*Releasep)();
194 if (postBlockBegin(blockresult)) {
197 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
198 API_ID_result_Mutex__Release_void_,
200 PACK_COMMON_END('x', ret, ret, blockresult);
201 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MUTEX, SYNC_API_RELEASE);
209 result Mutex::Acquire(void) {
211 (Mutex::*methodType)(void);
212 static methodType Acquirep = 0;
214 probeInfo_t probeInfo;
216 bool bfiltering = true;
221 if(lib_handle[LIBOSP_APPFW] == NULL) {
222 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
223 if (lib_handle[LIBOSP_APPFW] == NULL) {
224 perror("dlopen failed : libosp-appfw.so");
228 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime5Mutex7AcquireEv");
230 if (tmpPtr == NULL || dlerror() != NULL) {
231 perror("dlsym failed : Tizen::Base::Runtime::Mutex::Acquire");
235 memcpy(&Acquirep, &tmpPtr, sizeof(tmpPtr));
240 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
241 setProbePoint(&probeInfo);
244 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
245 API_ID_result_Mutex__Acquire_void_,
247 PACK_COMMON_END('x', 0, 0, blockresult);
248 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MUTEX, SYNC_API_ACQUIRE_WAIT_START);
254 ret = (this->*Acquirep)();
256 if (postBlockBegin(blockresult)) {
257 setProbePoint(&probeInfo);
260 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
261 API_ID_result_Mutex__Acquire_void_,
263 PACK_COMMON_END('x', ret, ret, blockresult);
264 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MUTEX, SYNC_API_ACQUIRE_WAIT_END);
272 result Mutex::TryToAcquire(void) {
274 (Mutex::*methodType)(void);
275 static methodType TryToAcquirep = 0;
277 probeInfo_t probeInfo;
279 bool bfiltering = true;
282 if (!TryToAcquirep) {
284 if(lib_handle[LIBOSP_APPFW] == NULL) {
285 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
286 if (lib_handle[LIBOSP_APPFW] == NULL) {
287 perror("dlopen failed : libosp-appfw.so");
291 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime5Mutex12TryToAcquireEv");
293 if (tmpPtr == NULL || dlerror() != NULL) {
294 perror("dlsym failed : Tizen::Base::Runtime::Mutex::TryToAcquire");
298 memcpy(&TryToAcquirep, &tmpPtr, sizeof(tmpPtr));
303 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
304 setProbePoint(&probeInfo);
308 ret = (this->*TryToAcquirep)();
310 if (postBlockBegin(blockresult)) {
313 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
314 API_ID_result_Mutex__TryToAcquire_void_,
316 PACK_COMMON_END('x', ret, ret, blockresult);
317 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MUTEX, SYNC_API_TRY_ACQUIRE);
326 result Semaphore::Create(int count) {
328 (Semaphore::*methodType)(int count);
329 static methodType Createp = 0;
331 probeInfo_t probeInfo;
333 bool bfiltering = true;
338 if(lib_handle[LIBOSP_APPFW] == NULL) {
339 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
340 if (lib_handle[LIBOSP_APPFW] == NULL) {
341 perror("dlopen failed : libosp-appfw.so");
345 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime9Semaphore6CreateEi");
347 if (tmpPtr == NULL || dlerror() != NULL) {
348 perror("dlsym failed : Tizen::Base::Runtime::Semaphore::Create");
352 memcpy(&Createp, &tmpPtr, sizeof(tmpPtr));
357 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
358 setProbePoint(&probeInfo);
362 ret = (this->*Createp)(count);
364 if (postBlockBegin(blockresult)) {
367 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
368 API_ID_result_Semaphore__Create_int_count_,
370 PACK_COMMON_END('x', ret, ret, blockresult);
371 PACK_SYNC((unsigned int) this, SYNC_TIZEN_SEMAPHORE, SYNC_API_NEW);
379 result Semaphore::Create(const Tizen::Base::String& name, int count) {
381 (Semaphore::*methodType)(const Tizen::Base::String& name, int count);
382 static methodType Createp = 0;
384 probeInfo_t probeInfo;
386 bool bfiltering = true;
392 if(lib_handle[LIBOSP_APPFW] == NULL) {
393 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
394 if (lib_handle[LIBOSP_APPFW] == NULL) {
395 perror("dlopen failed : libosp-appfw.so");
399 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime9Semaphore6CreateERKNS0_6StringEi");
401 if (tmpPtr == NULL || dlerror() != NULL) {
402 perror("dlsym failed : Tizen::Base::Runtime::Semaphore::Create");
406 memcpy(&Createp, &tmpPtr, sizeof(tmpPtr));
411 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
412 setProbePoint(&probeInfo);
416 ret = (this->*Createp)(name, count);
418 if (postBlockBegin(blockresult)) {
420 WcharToChar(temp, name.GetPointer());
423 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
424 API_ID_result_Semaphore__Create_const_Tizen__Base__String__name__int_count_,
426 PACK_COMMON_END('x', ret, ret, blockresult);
427 PACK_SYNC((unsigned int) this, SYNC_TIZEN_SEMAPHORE, SYNC_API_NEW);
436 result Semaphore::Acquire(long timeout) {
438 (Semaphore::*methodType)(long timeout);
439 static methodType Acquirep = 0;
441 probeInfo_t probeInfo;
443 bool bfiltering = true;
448 if(lib_handle[LIBOSP_APPFW] == NULL) {
449 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
450 if (lib_handle[LIBOSP_APPFW] == NULL) {
451 perror("dlopen failed : libosp-appfw.so");
455 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime9Semaphore7AcquireEl");
457 if (tmpPtr == NULL || dlerror() != NULL) {
458 perror("dlsym failed : Tizen::Base::Runtime::Semaphore::Acquire");
462 memcpy(&Acquirep, &tmpPtr, sizeof(tmpPtr));
467 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
468 setProbePoint(&probeInfo);
471 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
472 API_ID_result_Semaphore__Acquire_long_timeout_,
473 "x", (uint64_t)(timeout));
474 PACK_COMMON_END('x', 0, 0, blockresult);
475 PACK_SYNC((unsigned int) this, SYNC_TIZEN_SEMAPHORE, SYNC_API_ACQUIRE_WAIT_START);
481 ret = (this->*Acquirep)(timeout);
483 if (postBlockBegin(blockresult)) {
484 setProbePoint(&probeInfo);
487 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
488 API_ID_result_Semaphore__Acquire_long_timeout_,
489 "x", (uint64_t)(timeout));
490 PACK_COMMON_END('x', ret, ret, blockresult);
491 PACK_SYNC((unsigned int) this, SYNC_TIZEN_SEMAPHORE, SYNC_API_ACQUIRE_WAIT_END);
499 result Semaphore::TryToAcquire(void) {
501 (Semaphore::*methodType)(void);
502 static methodType TryToAcquirep = 0;
504 probeInfo_t probeInfo;
506 bool bfiltering = true;
509 if (!TryToAcquirep) {
511 if(lib_handle[LIBOSP_APPFW] == NULL) {
512 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
513 if (lib_handle[LIBOSP_APPFW] == NULL) {
514 perror("dlopen failed : libosp-appfw.so");
518 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime9Semaphore12TryToAcquireEv");
520 if (tmpPtr == NULL || dlerror() != NULL) {
521 perror("dlsym failed : Tizen::Base::Runtime::Semaphore::TryToAcquire");
525 memcpy(&TryToAcquirep, &tmpPtr, sizeof(tmpPtr));
530 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
531 setProbePoint(&probeInfo);
535 ret = (this->*TryToAcquirep)();
537 if (postBlockBegin(blockresult)) {
540 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
541 API_ID_result_Semaphore__TryToAcquire_void_,
543 PACK_COMMON_END('x', ret, ret, blockresult);
544 PACK_SYNC((unsigned int) this, SYNC_TIZEN_SEMAPHORE, SYNC_API_TRY_ACQUIRE);
552 result Semaphore::Release(void) {
554 (Semaphore::*methodType)(void);
555 static methodType Releasep = 0;
557 probeInfo_t probeInfo;
559 bool bfiltering = true;
564 if(lib_handle[LIBOSP_APPFW] == NULL) {
565 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
566 if (lib_handle[LIBOSP_APPFW] == NULL) {
567 perror("dlopen failed : libosp-appfw.so");
571 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime9Semaphore7ReleaseEv");
573 if (tmpPtr == NULL || dlerror() != NULL) {
574 perror("dlsym failed : Tizen::Base::Runtime::Semaphore::Release");
578 memcpy(&Releasep, &tmpPtr, sizeof(tmpPtr));
583 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
584 setProbePoint(&probeInfo);
588 ret = (this->*Releasep)();
590 if (postBlockBegin(blockresult)) {
593 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
594 API_ID_result_Semaphore__Release_void_,
596 PACK_COMMON_END('x', ret, ret, blockresult);
597 PACK_SYNC((unsigned int) this, SYNC_TIZEN_SEMAPHORE, SYNC_API_RELEASE);
606 result Monitor::Construct(void) {
608 (Monitor::*methodType)(void);
609 static methodType Constructp = 0;
611 probeInfo_t probeInfo;
613 bool bfiltering = true;
618 if(lib_handle[LIBOSP_APPFW] == NULL) {
619 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
620 if (lib_handle[LIBOSP_APPFW] == NULL) {
621 perror("dlopen failed : libosp-appfw.so");
625 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime7Monitor9ConstructEv");
627 if (tmpPtr == NULL || dlerror() != NULL) {
628 perror("dlsym failed : Tizen::Base::Runtime::Monitor::Construct");
632 memcpy(&Constructp, &tmpPtr, sizeof(tmpPtr));
636 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
637 setProbePoint(&probeInfo);
641 ret = (this->*Constructp)();
643 if (postBlockBegin(blockresult)) {
646 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
647 API_ID_result_Monitor__Construct_void_,
649 PACK_COMMON_END('x', ret, ret, blockresult);
650 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MONITOR, SYNC_API_NEW);
658 result Monitor::Enter(void) {
660 (Monitor::*methodType)(void);
661 static methodType Enterp = 0;
663 probeInfo_t probeInfo;
665 bool bfiltering = true;
670 if(lib_handle[LIBOSP_APPFW] == NULL) {
671 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
672 if (lib_handle[LIBOSP_APPFW] == NULL) {
673 perror("dlopen failed : libosp-appfw.so");
677 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime7Monitor5EnterEv");
679 if (tmpPtr == NULL || dlerror() != NULL) {
680 perror("dlsym failed : Tizen::Base::Runtime::Monitor::Enter");
684 memcpy(&Enterp, &tmpPtr, sizeof(tmpPtr));
689 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
690 setProbePoint(&probeInfo);
693 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
694 API_ID_result_Monitor__Enter_void_,
696 PACK_COMMON_END('x', 0, 0, blockresult);
697 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MONITOR, SYNC_API_ACQUIRE_WAIT_START);
703 ret = (this->*Enterp)();
705 if (postBlockBegin(blockresult)) {
706 setProbePoint(&probeInfo);
709 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
710 API_ID_result_Monitor__Enter_void_,
712 PACK_COMMON_END('x', ret, ret, blockresult);
713 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MONITOR, SYNC_API_ACQUIRE_WAIT_END);
721 result Monitor::Exit(void) {
723 (Monitor::*methodType)(void);
724 static methodType Exitp = 0;
726 probeInfo_t probeInfo;
728 bool bfiltering = true;
733 if(lib_handle[LIBOSP_APPFW] == NULL) {
734 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
735 if (lib_handle[LIBOSP_APPFW] == NULL) {
736 perror("dlopen failed : libosp-appfw.so");
740 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime7Monitor4ExitEv");
742 if (tmpPtr == NULL || dlerror() != NULL) {
743 perror("dlsym failed : Tizen::Base::Runtime::Monitor::Exit");
747 memcpy(&Exitp, &tmpPtr, sizeof(tmpPtr));
752 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
753 setProbePoint(&probeInfo);
757 ret = (this->*Exitp)();
759 if (postBlockBegin(blockresult)) {
762 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
763 API_ID_result_Monitor__Exit_void_,
765 PACK_COMMON_END('x', ret, ret, blockresult);
766 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MONITOR, SYNC_API_RELEASE);
774 result Monitor::Wait(void) {
776 (Monitor::*methodType)(void);
777 static methodType Waitp = 0;
779 probeInfo_t probeInfo;
781 bool bfiltering = true;
786 if(lib_handle[LIBOSP_APPFW] == NULL) {
787 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
788 if (lib_handle[LIBOSP_APPFW] == NULL) {
789 perror("dlopen failed : libosp-appfw.so");
793 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime7Monitor4WaitEv");
795 if (tmpPtr == NULL || dlerror() != NULL) {
796 perror("dlsym failed : Tizen::Base::Runtime::Monitor::Wait");
800 memcpy(&Waitp, &tmpPtr, sizeof(tmpPtr));
805 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
806 setProbePoint(&probeInfo);
809 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
810 API_ID_result_Monitor__Wait_void_,
812 PACK_COMMON_END('x', 0, 0, blockresult);
813 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MONITOR, SYNC_API_COND_WAIT_START);
819 ret = (this->*Waitp)();
821 if (postBlockBegin(blockresult)) {
822 setProbePoint(&probeInfo);
825 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
826 API_ID_result_Monitor__Wait_void_,
828 PACK_COMMON_END('x', ret, ret, blockresult);
829 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MONITOR, SYNC_API_COND_WAIT_END);
837 result Monitor::Notify(void) {
839 (Monitor::*methodType)(void);
840 static methodType Notifyp = 0;
842 probeInfo_t probeInfo;
844 bool bfiltering = true;
849 if(lib_handle[LIBOSP_APPFW] == NULL) {
850 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
851 if (lib_handle[LIBOSP_APPFW] == NULL) {
852 perror("dlopen failed : libosp-appfw.so");
856 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime7Monitor6NotifyEv");
858 if (tmpPtr == NULL || dlerror() != NULL) {
859 perror("dlsym failed : Tizen::Base::Runtime::Monitor::Notify");
863 memcpy(&Notifyp, &tmpPtr, sizeof(tmpPtr));
868 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
869 setProbePoint(&probeInfo);
873 ret = (this->*Notifyp)();
875 if (postBlockBegin(blockresult)) {
878 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
879 API_ID_result_Monitor__Notify_void_,
881 PACK_COMMON_END('x', ret, ret, blockresult);
882 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MONITOR, SYNC_API_NOTIFY);
890 result Monitor::NotifyAll(void) {
892 (Monitor::*methodType)(void);
893 static methodType NotifyAllp = 0;
895 probeInfo_t probeInfo;
897 bool bfiltering = true;
902 if(lib_handle[LIBOSP_APPFW] == NULL) {
903 lib_handle[LIBOSP_APPFW] = dlopen(lib_string[LIBOSP_APPFW], RTLD_LAZY);
904 if (lib_handle[LIBOSP_APPFW] == NULL) {
905 perror("dlopen failed : libosp-appfw.so");
909 tmpPtr = dlsym(lib_handle[LIBOSP_APPFW], "_ZN5Tizen4Base7Runtime7Monitor9NotifyAllEv");
911 if (tmpPtr == NULL || dlerror() != NULL) {
912 perror("dlsym failed : Tizen::Base::Runtime::Monitor::NotifyAll");
916 memcpy(&NotifyAllp, &tmpPtr, sizeof(tmpPtr));
921 if ((blockresult = preBlockBegin(CALLER_ADDRESS, bfiltering, _sopt)) != 0) {
922 setProbePoint(&probeInfo);
926 ret = (this->*NotifyAllp)();
928 if (postBlockBegin(blockresult)) {
931 PACK_COMMON_BEGIN(MSG_PROBE_SYNC,
932 API_ID_result_Monitor__NotifyAll_void_,
934 PACK_COMMON_END('x', ret, ret, blockresult);
935 PACK_SYNC((unsigned int) this, SYNC_TIZEN_MONITOR, SYNC_API_NOTIFY_ALL);