void QClient::MPDeathNotifier::died() { Locker::Autolock _sl(mHwcContext->mDrawLock); ALOGD_IF(QCLIENT_DEBUG, "Media Player died"); mHwcContext->mSecuring = false; mHwcContext->mSecureMode = false; if(mHwcContext->proc) mHwcContext->proc->invalidate(mHwcContext->proc); }
void QClient::unsecuring(uint32_t startEnd) { Locker::Autolock _sl(mHwcContext->mDrawLock); mHwcContext->mSecuring = startEnd; //We're done unsecuring if(startEnd == IQService::END) mHwcContext->mSecureMode = false; if(mHwcContext->proc) mHwcContext->proc->invalidate(mHwcContext->proc); }
static void unsecuring(hwc_context_t *ctx, uint32_t startEnd) { Locker::Autolock _sl(ctx->mDrawLock); ctx->mSecuring = startEnd; //We're done unsecuring if(startEnd == IQService::END) ctx->mSecureMode = false; if(ctx->proc) ctx->proc->invalidate(ctx->proc); }
void QClient::securing(uint32_t startEnd) { Locker::Autolock _sl(mHwcContext->mDrawLock); //The only way to make this class in this process subscribe to media //player's death. IMediaDeathNotifier::getMediaPlayerService(); mHwcContext->mSecuring = startEnd; //We're done securing if(startEnd == IQService::END) mHwcContext->mSecureMode = true; if(mHwcContext->proc) mHwcContext->proc->invalidate(mHwcContext->proc); }
static void securing(hwc_context_t *ctx, uint32_t startEnd) { Locker::Autolock _sl(ctx->mDrawLock); //The only way to make this class in this process subscribe to media //player's death. IMediaDeathNotifier::getMediaPlayerService(); ctx->mSecuring = startEnd; //We're done securing if(startEnd == IQService::END) ctx->mSecureMode = true; if(ctx->proc) ctx->proc->invalidate(ctx->proc); }
void addCommand(Receptor *r,ReceptorAddress ox,char *command,char *desc,T *code,T *bindings_handler) { T *expect = _t_new_root(PATTERN); T *s = _t_news(expect,SEMTREX_GROUP,SHELL_COMMAND); T *cm = _sl(s,SHELL_COMMAND); T *vl = _t_newr(cm,SEMTREX_VALUE_LITERAL); T *vls = _t_newr(vl,SEMTREX_VALUE_SET); _t_new_str(vls,VERB,command); T *p = _t_new_root(SAY); __r_make_addr(p,TO_ADDRESS,ox); _t_news(p,ASPECT_IDENT,DEFAULT_ASPECT); _t_news(p,CARRIER,NULL_SYMBOL); // if code is actually an INITIATE then we will have a bindings handler // to which we want to add the SAY command as the ACTUAL_PROCESS // and we will replace the p with code which does the proper protocol // initiation. Kinda weird, I know... if (bindings_handler) { char proc_name[255] = "handle "; strcpy(&proc_name[7],command); int pt1[] = {2,1,TREE_PATH_TERMINATOR}; _t_new(p,PARAM_REF,pt1,sizeof(int)*3); Process proc = _r_define_process(r,p,proc_name,"long desc...",NULL,NULL); _t_news(bindings_handler,ACTUAL_PROCESS,proc); p = code; } else { _t_add(p,code); } Process proc = _r_define_process(r,p,desc,"long desc...",NULL,NULL); T *act = _t_newp(0,ACTION,proc); _r_add_expectation(r,DEFAULT_ASPECT,SHELL_COMMAND,expect,act,0,0,NULL,NULL); }
static status_t getDisplayVisibleRegion(hwc_context_t* ctx, int dpy, Parcel* outParcel) { // Get the info only if the dpy is valid if(dpy >= HWC_DISPLAY_PRIMARY && dpy <= HWC_DISPLAY_VIRTUAL) { Locker::Autolock _sl(ctx->mDrawLock); if(dpy && (ctx->mExtOrientation || ctx->mBufferMirrorMode)) { // Return the destRect on external, if external orienation // is enabled outParcel->writeInt32(ctx->dpyAttr[dpy].mDstRect.left); outParcel->writeInt32(ctx->dpyAttr[dpy].mDstRect.top); outParcel->writeInt32(ctx->dpyAttr[dpy].mDstRect.right); outParcel->writeInt32(ctx->dpyAttr[dpy].mDstRect.bottom); } else { outParcel->writeInt32(ctx->mViewFrame[dpy].left); outParcel->writeInt32(ctx->mViewFrame[dpy].top); outParcel->writeInt32(ctx->mViewFrame[dpy].right); outParcel->writeInt32(ctx->mViewFrame[dpy].bottom); } return NO_ERROR; } else { ALOGE("In %s: invalid dpy index %d", __FUNCTION__, dpy); return BAD_VALUE; } }