Lines Matching refs:prefix
209 void CppCodeEmitter::EmitInterfaceBody(StringBuilder& sb, const String& prefix) in EmitInterfaceBody() argument
217 void CppCodeEmitter::EmitInterfaceMethods(StringBuilder& sb, const String& prefix) in EmitInterfaceMethods() argument
222 EmitInterfaceMethod(mm, sb, prefix); in EmitInterfaceMethods()
230 void CppCodeEmitter::EmitInterfaceMethod(MetaMethod* mm, StringBuilder& sb, const String& prefix) in EmitInterfaceMethod() argument
234 sb.Append(prefix).AppendFormat("virtual ErrCode %s() = 0;\n", mm->name_); in EmitInterfaceMethod()
236 sb.Append(prefix).AppendFormat("virtual ErrCode %s(\n", mm->name_); in EmitInterfaceMethod()
239 EmitInterfaceMethodParameter(mp, sb, prefix + TAB); in EmitInterfaceMethod()
245 EmitInterfaceMethodReturn(returnType, sb, prefix + TAB); in EmitInterfaceMethod()
251 …deEmitter::EmitInterfaceMethodParameter(MetaParameter* mp, StringBuilder& sb, const String& prefix) in EmitInterfaceMethodParameter() argument
253 sb.Append(prefix); in EmitInterfaceMethodParameter()
260 …id CppCodeEmitter::EmitInterfaceMethodReturn(MetaType* mt, StringBuilder& sb, const String& prefix) in EmitInterfaceMethodReturn() argument
262 sb.Append(prefix).AppendFormat("%s result", EmitType(mt, ATTR_OUT, false).string()); in EmitInterfaceMethodReturn()
265 void CppCodeEmitter::EmitInterfaceMemberVariables(StringBuilder& sb, const String& prefix) in EmitInterfaceMemberVariables() argument
269 sb.Append(prefix).AppendFormat( in EmitInterfaceMemberVariables()
273 sb.Append(prefix).Append("const int VECTOR_MAX_SIZE = 102400;\n"); in EmitInterfaceMemberVariables()
274 sb.Append(prefix).Append("const int LIST_MAX_SIZE = 102400;\n"); in EmitInterfaceMemberVariables()
275 sb.Append(prefix).Append("const int MAP_MAX_SIZE = 102400;\n"); in EmitInterfaceMemberVariables()
325 …d CppCodeEmitter::EmitInterfaceProxyRegisterDeathRecipient(StringBuilder& sb, const String& prefix) in EmitInterfaceProxyRegisterDeathRecipient() argument
327 sb.Append(prefix).Append("if (remote != nullptr) {\n"); in EmitInterfaceProxyRegisterDeathRecipient()
328 sb.Append(prefix + TAB).Append("if (!remote->IsProxyObject()) {\n"); in EmitInterfaceProxyRegisterDeathRecipient()
330 … sb.Append(prefix + TAB + TAB).Append("HiLog::Error(LABEL, \"remote is not proxy object!\");\n"); in EmitInterfaceProxyRegisterDeathRecipient()
332 sb.Append(prefix + TAB + TAB).Append("return;\n"); in EmitInterfaceProxyRegisterDeathRecipient()
333 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceProxyRegisterDeathRecipient()
334 sb.Append(prefix + TAB).AppendFormat("deathRecipient_ = new (std::nothrow) %s(*this);\n", in EmitInterfaceProxyRegisterDeathRecipient()
336 sb.Append(prefix + TAB).Append("if (deathRecipient_ == nullptr) {\n"); in EmitInterfaceProxyRegisterDeathRecipient()
338 … sb.Append(prefix + TAB + TAB).Append("HiLog::Error(LABEL, \"deathRecipient_ is nullptr!\");\n"); in EmitInterfaceProxyRegisterDeathRecipient()
340 sb.Append(prefix + TAB + TAB).Append("return;\n"); in EmitInterfaceProxyRegisterDeathRecipient()
341 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceProxyRegisterDeathRecipient()
342 sb.Append(prefix + TAB).Append("if (!remote->AddDeathRecipient(deathRecipient_)) {\n"); in EmitInterfaceProxyRegisterDeathRecipient()
344 … sb.Append(prefix + TAB + TAB).Append("HiLog::Error(LABEL, \"AddDeathRecipient failed!\");\n"); in EmitInterfaceProxyRegisterDeathRecipient()
346 sb.Append(prefix + TAB + TAB).Append("return;\n"); in EmitInterfaceProxyRegisterDeathRecipient()
347 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceProxyRegisterDeathRecipient()
348 sb.Append(prefix + TAB).Append("remote_ = remote;\n"); in EmitInterfaceProxyRegisterDeathRecipient()
349 sb.Append(prefix).Append("}\n"); in EmitInterfaceProxyRegisterDeathRecipient()
352 void CppCodeEmitter::EmitInterfaceProxyAddCacheAbleAPI(StringBuilder& sb, const String& prefix) in EmitInterfaceProxyAddCacheAbleAPI() argument
364 sb.Append(prefix + TAB).AppendFormat( in EmitInterfaceProxyAddCacheAbleAPI()
368 sb.Append(prefix + TAB).AppendFormat( in EmitInterfaceProxyAddCacheAbleAPI()
374 EmitInterfaceProxyRegisterDeathRecipient(sb, prefix + TAB); in EmitInterfaceProxyAddCacheAbleAPI()
377 …CppCodeEmitter::EmitInterfaceProxyUnRegisterDeathRecipient(StringBuilder& sb, const String& prefix) in EmitInterfaceProxyUnRegisterDeathRecipient() argument
379 sb.Append(prefix).Append("if (remote_ == nullptr) {\n"); in EmitInterfaceProxyUnRegisterDeathRecipient()
380 sb.Append(prefix).Append(TAB).Append("return;\n"); in EmitInterfaceProxyUnRegisterDeathRecipient()
381 sb.Append(prefix).Append("}\n"); in EmitInterfaceProxyUnRegisterDeathRecipient()
382 sb.Append(prefix).Append("if (deathRecipient_ == nullptr) {\n"); in EmitInterfaceProxyUnRegisterDeathRecipient()
383 sb.Append(prefix).Append(TAB).Append("return;\n"); in EmitInterfaceProxyUnRegisterDeathRecipient()
384 sb.Append(prefix).Append("}\n"); in EmitInterfaceProxyUnRegisterDeathRecipient()
385 sb.Append(prefix).Append("remote_->RemoveDeathRecipient(deathRecipient_);\n"); in EmitInterfaceProxyUnRegisterDeathRecipient()
386 sb.Append(prefix).Append("remote_ = nullptr;\n"); in EmitInterfaceProxyUnRegisterDeathRecipient()
392 sb.Append(prefix).AppendFormat( in EmitInterfaceProxyUnRegisterDeathRecipient()
400 void CppCodeEmitter::EmitInterfaceProxyConstructor(StringBuilder& sb, const String& prefix) in EmitInterfaceProxyConstructor() argument
402 sb.Append(prefix).AppendFormat("explicit %s(\n", proxyName_.string()); in EmitInterfaceProxyConstructor()
403 sb.Append(prefix + TAB).Append("const sptr<IRemoteObject>& remote)\n"); in EmitInterfaceProxyConstructor()
404 sb.Append(prefix + TAB).AppendFormat(": IRemoteProxy<%s>(remote)\n", interfaceName_.string()); in EmitInterfaceProxyConstructor()
405 sb.Append(prefix).Append("{"); in EmitInterfaceProxyConstructor()
406 EmitInterfaceProxyAddCacheAbleAPI(sb, prefix); in EmitInterfaceProxyConstructor()
407 sb.Append(prefix).Append("}\n\n"); in EmitInterfaceProxyConstructor()
408 sb.Append(prefix).AppendFormat("virtual ~%s()\n", proxyName_.string()); in EmitInterfaceProxyConstructor()
409 sb.Append(prefix).Append("{\n"); in EmitInterfaceProxyConstructor()
411 EmitInterfaceProxyUnRegisterDeathRecipient(sb, prefix + TAB); in EmitInterfaceProxyConstructor()
413 sb.Append(prefix).Append("}\n"); in EmitInterfaceProxyConstructor()
416 void CppCodeEmitter::EmitInterfaceProxyMethodDecls(StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodDecls() argument
421 EmitInterfaceProxyMethodDecl(mm, sb, prefix); in EmitInterfaceProxyMethodDecls()
429 …pCodeEmitter::EmitInterfaceProxyMethodDecl(MetaMethod* mm, StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodDecl() argument
433 sb.Append(prefix).AppendFormat("ErrCode %s() override;\n", mm->name_); in EmitInterfaceProxyMethodDecl()
435 sb.Append(prefix).AppendFormat("ErrCode %s(\n", mm->name_); in EmitInterfaceProxyMethodDecl()
438 EmitInterfaceMethodParameter(mp, sb, prefix + TAB); in EmitInterfaceProxyMethodDecl()
444 EmitInterfaceMethodReturn(returnType, sb, prefix + TAB); in EmitInterfaceProxyMethodDecl()
450 void CppCodeEmitter::EmitInterfaceProxyDeathRecipient(StringBuilder& sb, const String& prefix) in EmitInterfaceProxyDeathRecipient() argument
452 …sb.Append(prefix).AppendFormat("class %s : public IRemoteObject::DeathRecipient {\n", deathRecipie… in EmitInterfaceProxyDeathRecipient()
453 sb.Append(prefix).Append("public:\n"); in EmitInterfaceProxyDeathRecipient()
454 …sb.Append(prefix + TAB).AppendFormat("explicit %s(%s &client) : client_(client) {}\n", deathRecipi… in EmitInterfaceProxyDeathRecipient()
456 … sb.Append(prefix + TAB).AppendFormat("~%s() override = default;\n", deathRecipientName_.string()); in EmitInterfaceProxyDeathRecipient()
457 … sb.Append(prefix + TAB).Append("void OnRemoteDied(const wptr<IRemoteObject> &remote) override\n"); in EmitInterfaceProxyDeathRecipient()
458 sb.Append(prefix + TAB).Append("{\n"); in EmitInterfaceProxyDeathRecipient()
459 sb.Append(prefix + TAB + TAB).Append("client_.OnRemoteDied(remote);\n"); in EmitInterfaceProxyDeathRecipient()
460 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceProxyDeathRecipient()
461 sb.Append(prefix).Append("private:\n"); in EmitInterfaceProxyDeathRecipient()
462 sb.Append(prefix + TAB).AppendFormat("%s &client_;\n", proxyName_.string()); in EmitInterfaceProxyDeathRecipient()
463 sb.Append(prefix).Append("};\n\n"); in EmitInterfaceProxyDeathRecipient()
465 sb.Append(prefix).Append("void OnRemoteDied(const wptr<IRemoteObject> &remoteObject)\n"); in EmitInterfaceProxyDeathRecipient()
466 sb.Append(prefix).Append("{\n"); in EmitInterfaceProxyDeathRecipient()
467 sb.Append(prefix + TAB).Append("(void)remoteObject;\n"); in EmitInterfaceProxyDeathRecipient()
468 sb.Append(prefix + TAB).Append("ApiCacheManager::GetInstance().ClearCache(GetDescriptor());\n"); in EmitInterfaceProxyDeathRecipient()
469 sb.Append(prefix).Append("}\n"); in EmitInterfaceProxyDeathRecipient()
470 sb.Append(prefix).Append("sptr<IRemoteObject> remote_ = nullptr;\n"); in EmitInterfaceProxyDeathRecipient()
471 sb.Append(prefix).Append("sptr<IRemoteObject::DeathRecipient> deathRecipient_ = nullptr;\n"); in EmitInterfaceProxyDeathRecipient()
474 void CppCodeEmitter::EmitInterfaceProxyConstants(StringBuilder& sb, const String& prefix) in EmitInterfaceProxyConstants() argument
477 EmitInterfaceProxyDeathRecipient(sb, prefix); in EmitInterfaceProxyConstants()
479 EmitInterfaceMethodCommands(sb, prefix); in EmitInterfaceProxyConstants()
481 …sb.Append(prefix).AppendFormat("static inline BrokerDelegator<%s> delegator_;\n", proxyName_.strin… in EmitInterfaceProxyConstants()
514 void CppCodeEmitter::EmitInterfaceProxyMethodImpls(StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodImpls() argument
519 EmitInterfaceProxyMethodImpl(mm, sb, prefix); in EmitInterfaceProxyMethodImpls()
527 …pCodeEmitter::EmitInterfaceProxyMethodImpl(MetaMethod* mm, StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodImpl() argument
531 sb.Append(prefix).AppendFormat("ErrCode %s::%s()\n", proxyName_.string(), mm->name_); in EmitInterfaceProxyMethodImpl()
533 sb.Append(prefix).AppendFormat("ErrCode %s::%s(\n", proxyName_.string(), mm->name_); in EmitInterfaceProxyMethodImpl()
536 EmitInterfaceMethodParameter(mp, sb, prefix + TAB); in EmitInterfaceProxyMethodImpl()
542 EmitInterfaceMethodReturn(returnType, sb, prefix + TAB); in EmitInterfaceProxyMethodImpl()
546 EmitInterfaceProxyMethodBody(mm, sb, prefix); in EmitInterfaceProxyMethodImpl()
549 …er::EmitInterfaceProxyMethodPreSendRequest(MetaMethod* mm, StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodPreSendRequest() argument
553 sb.Append(prefix + TAB).AppendFormat( in EmitInterfaceProxyMethodPreSendRequest()
557 sb.Append(prefix + TAB).Append("if (hitCache == true) {\n"); in EmitInterfaceProxyMethodPreSendRequest()
558 EmitInterfaceProxyMethodErrCode(sb, prefix + TAB); in EmitInterfaceProxyMethodPreSendRequest()
559 EmitInterfaceProxyMethodReply(mm, sb, prefix + TAB); in EmitInterfaceProxyMethodPreSendRequest()
560 sb.Append(prefix + TAB + TAB).Append("return ERR_OK;\n"); in EmitInterfaceProxyMethodPreSendRequest()
561 sb.Append(prefix + TAB).Append("}\n\n"); in EmitInterfaceProxyMethodPreSendRequest()
565 …r::EmitInterfaceProxyMethodPostSendRequest(MetaMethod* mm, StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodPostSendRequest() argument
567 sb.Append(prefix + TAB).AppendFormat( in EmitInterfaceProxyMethodPostSendRequest()
572 …pCodeEmitter::EmitInterfaceProxyMethodBody(MetaMethod* mm, StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodBody() argument
574 sb.Append(prefix).Append("{\n"); in EmitInterfaceProxyMethodBody()
576 sb.Append(prefix + TAB).AppendFormat("HITRACE_METER_NAME(%s, __PRETTY_FUNCTION__);\n", in EmitInterfaceProxyMethodBody()
579 sb.Append(prefix + TAB).Append("MessageParcel data;\n"); in EmitInterfaceProxyMethodBody()
580 sb.Append(prefix + TAB).Append("MessageParcel reply;\n"); in EmitInterfaceProxyMethodBody()
581 sb.Append(prefix + TAB).AppendFormat("MessageOption option(%s);\n", in EmitInterfaceProxyMethodBody()
584 sb.Append(prefix + TAB).Append("if (!data.WriteInterfaceToken(GetDescriptor())) {\n"); in EmitInterfaceProxyMethodBody()
586 …sb.Append(prefix + TAB).Append(TAB).Append("HiLog::Error(LABEL, \"Write interface token failed!\")… in EmitInterfaceProxyMethodBody()
588 sb.Append(prefix + TAB).Append(TAB).Append("return ERR_INVALID_VALUE;\n"); in EmitInterfaceProxyMethodBody()
589 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceProxyMethodBody()
595 EmitWriteMethodParameter(mp, "data.", sb, prefix + TAB); in EmitInterfaceProxyMethodBody()
598 EmitInterfaceProxyMethodPreSendRequest(mm, sb, prefix); in EmitInterfaceProxyMethodBody()
599 sb.Append(prefix + TAB).Append("sptr<IRemoteObject> remote = Remote();\n"); in EmitInterfaceProxyMethodBody()
600 sb.Append(prefix + TAB).Append("if (remote == nullptr) {\n"); in EmitInterfaceProxyMethodBody()
602 … sb.Append(prefix + TAB).Append(TAB).Append("HiLog::Error(LABEL, \"Remote is nullptr!\");\n"); in EmitInterfaceProxyMethodBody()
604 sb.Append(prefix + TAB).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitInterfaceProxyMethodBody()
605 sb.Append(prefix + TAB).Append("}\n\n"); in EmitInterfaceProxyMethodBody()
606 …sb.Append(prefix + TAB).AppendFormat("int32_t result = remote->SendRequest(COMMAND_%s, data, reply… in EmitInterfaceProxyMethodBody()
608 sb.Append(prefix + TAB).Append("if (FAILED(result)) {\n"); in EmitInterfaceProxyMethodBody()
610 … sb.Append(prefix + TAB).Append(TAB).Append("HiLog::Error(LABEL, \"Send request failed!\");\n"); in EmitInterfaceProxyMethodBody()
612 sb.Append(prefix + TAB).Append(" return result;\n"); in EmitInterfaceProxyMethodBody()
613 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceProxyMethodBody()
614 EmitInterfaceProxyMethodRetValue(mm, sb, prefix); in EmitInterfaceProxyMethodBody()
615 sb.Append(prefix).Append("}\n"); in EmitInterfaceProxyMethodBody()
618 void CppCodeEmitter::EmitInterfaceProxyMethodErrCode(StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodErrCode() argument
620 sb.Append(prefix + TAB).Append("ErrCode errCode = reply.ReadInt32();\n"); in EmitInterfaceProxyMethodErrCode()
621 sb.Append(prefix + TAB).Append("if (FAILED(errCode)) {\n"); in EmitInterfaceProxyMethodErrCode()
623 sb.Append(prefix + TAB + TAB).Append("HiLog::Error(LABEL, \"Read Int32 failed!\");\n"); in EmitInterfaceProxyMethodErrCode()
625 sb.Append(prefix + TAB).Append(" return errCode;\n"); in EmitInterfaceProxyMethodErrCode()
626 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceProxyMethodErrCode()
629 …CodeEmitter::EmitInterfaceProxyMethodReply(MetaMethod* mm, StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodReply() argument
634 EmitReadMethodParameter(mp, "reply.", sb, prefix + TAB); in EmitInterfaceProxyMethodReply()
639 EmitReadVariable("reply.", "result", returnType, sb, prefix + TAB, false); in EmitInterfaceProxyMethodReply()
643 …eEmitter::EmitInterfaceProxyMethodRetValue(MetaMethod* mm, StringBuilder& sb, const String& prefix) in EmitInterfaceProxyMethodRetValue() argument
646 EmitInterfaceProxyMethodErrCode(sb, prefix); in EmitInterfaceProxyMethodRetValue()
649 EmitInterfaceProxyMethodPostSendRequest(mm, sb, prefix); in EmitInterfaceProxyMethodRetValue()
651 EmitInterfaceProxyMethodReply(mm, sb, prefix); in EmitInterfaceProxyMethodRetValue()
653 sb.Append(prefix + TAB).Append("return ERR_OK;\n"); in EmitInterfaceProxyMethodRetValue()
657 const String& prefix) in EmitWriteMethodParameter() argument
661 EmitWriteVariable(parcelName, name, mt, sb, prefix); in EmitWriteMethodParameter()
665 const String& prefix) in EmitReadMethodParameter() argument
669 EmitReadVariable(parcelName, name, mt, sb, prefix, false); in EmitReadMethodParameter()
714 void CppCodeEmitter::EmitInterfaceStubMethodDecls(StringBuilder& sb, const String& prefix) in EmitInterfaceStubMethodDecls() argument
716 sb.Append(prefix).Append("int32_t OnRemoteRequest(\n"); in EmitInterfaceStubMethodDecls()
717 sb.Append(prefix + TAB).Append("uint32_t code,\n"); in EmitInterfaceStubMethodDecls()
718 sb.Append(prefix + TAB).Append("MessageParcel& data,\n"); in EmitInterfaceStubMethodDecls()
719 sb.Append(prefix + TAB).Append("MessageParcel& reply,\n"); in EmitInterfaceStubMethodDecls()
720 sb.Append(prefix + TAB).Append("MessageOption& option) override;\n"); in EmitInterfaceStubMethodDecls()
723 void CppCodeEmitter::EmitInterfaceStubConstants(StringBuilder& sb, const String& prefix) in EmitInterfaceStubConstants() argument
725 EmitInterfaceMethodCommands(sb, prefix); in EmitInterfaceStubConstants()
758 void CppCodeEmitter::EmitInterfaceStubMethodImpls(StringBuilder& sb, const String& prefix) in EmitInterfaceStubMethodImpls() argument
760 sb.Append(prefix).AppendFormat("int32_t %s::OnRemoteRequest(\n", stubName_.string()); in EmitInterfaceStubMethodImpls()
761 sb.Append(prefix + TAB).Append("uint32_t code,\n"); in EmitInterfaceStubMethodImpls()
762 sb.Append(prefix + TAB).Append("MessageParcel& data,\n"); in EmitInterfaceStubMethodImpls()
763 sb.Append(prefix + TAB).Append("MessageParcel& reply,\n"); in EmitInterfaceStubMethodImpls()
764 sb.Append(prefix + TAB).Append("MessageOption& option)\n"); in EmitInterfaceStubMethodImpls()
765 sb.Append(prefix).Append("{\n"); in EmitInterfaceStubMethodImpls()
767 sb.Append(prefix + TAB).AppendFormat("HITRACE_METER_NAME(%s, __PRETTY_FUNCTION__);\n", in EmitInterfaceStubMethodImpls()
770 sb.Append(prefix + TAB).Append("std::u16string localDescriptor = GetDescriptor();\n"); in EmitInterfaceStubMethodImpls()
771 … sb.Append(prefix + TAB).Append("std::u16string remoteDescriptor = data.ReadInterfaceToken();\n"); in EmitInterfaceStubMethodImpls()
772 sb.Append(prefix + TAB).Append("if (localDescriptor != remoteDescriptor) {\n"); in EmitInterfaceStubMethodImpls()
773 sb.Append(prefix + TAB).Append(TAB).Append("return ERR_TRANSACTION_FAILED;\n"); in EmitInterfaceStubMethodImpls()
774 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceStubMethodImpls()
775 sb.Append(prefix + TAB).Append("switch (code) {\n"); in EmitInterfaceStubMethodImpls()
778 EmitInterfaceStubMethodImpl(mm, sb, prefix + TAB + TAB); in EmitInterfaceStubMethodImpls()
780 sb.Append(prefix + TAB).Append(TAB).Append("default:\n"); in EmitInterfaceStubMethodImpls()
781 sb.Append(prefix + TAB).Append(TAB).Append(TAB).Append( in EmitInterfaceStubMethodImpls()
783 sb.Append(prefix + TAB).Append("}\n\n"); in EmitInterfaceStubMethodImpls()
784 sb.Append(prefix + TAB).Append("return ERR_TRANSACTION_FAILED;\n"); in EmitInterfaceStubMethodImpls()
785 sb.Append(prefix).Append("}\n"); in EmitInterfaceStubMethodImpls()
789 StringBuilder& sb, const String& prefix, MetaType* returnType) in EmitInterfaceStubMethodImplReturn() argument
793 sb.Append(prefix + TAB).AppendFormat("%s result = nullptr;\n", in EmitInterfaceStubMethodImplReturn()
796 …sb.Append(prefix + TAB).AppendFormat("%s result;\n", EmitType(returnType, ATTR_IN, true).string()); in EmitInterfaceStubMethodImplReturn()
800 sb.Append(prefix + TAB).AppendFormat("ErrCode errCode = %s();\n", mm->name_); in EmitInterfaceStubMethodImplReturn()
802 sb.Append(prefix + TAB).AppendFormat("ErrCode errCode = %s(", mm->name_); in EmitInterfaceStubMethodImplReturn()
828 …ppCodeEmitter::EmitInterfaceStubMethodImpl(MetaMethod* mm, StringBuilder& sb, const String& prefix) in EmitInterfaceStubMethodImpl() argument
830 sb.Append(prefix).AppendFormat("case COMMAND_%s: {\n", ConstantName(mm->name_).string()); in EmitInterfaceStubMethodImpl()
836 EmitReadVariable("data.", name, mt, sb, prefix + TAB); in EmitInterfaceStubMethodImpl()
838 EmitLocalVariable(mp, sb, prefix + TAB); in EmitInterfaceStubMethodImpl()
845 EmitInterfaceStubMethodImplReturn(mm, sb, prefix, returnType); in EmitInterfaceStubMethodImpl()
847 sb.Append(prefix + TAB).Append("if (!reply.WriteInt32(errCode)) {\n"); in EmitInterfaceStubMethodImpl()
849 … sb.Append(prefix + TAB).Append(TAB).Append("HiLog::Error(LABEL, \"Write Int32 failed!\");\n"); in EmitInterfaceStubMethodImpl()
851 sb.Append(prefix + TAB).Append(TAB).Append("return ERR_INVALID_VALUE;\n"); in EmitInterfaceStubMethodImpl()
852 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceStubMethodImpl()
861 sb.Append(prefix + TAB).Append("if (SUCCEEDED(errCode)) {\n"); in EmitInterfaceStubMethodImpl()
865 EmitWriteMethodParameter(mp, "reply.", sb, prefix + TAB + TAB); in EmitInterfaceStubMethodImpl()
869 EmitWriteVariable("reply.", "result", returnType, sb, prefix + TAB + TAB); in EmitInterfaceStubMethodImpl()
871 sb.Append(prefix + TAB).Append("}\n"); in EmitInterfaceStubMethodImpl()
873 sb.Append(prefix + TAB).Append("return ERR_NONE;\n"); in EmitInterfaceStubMethodImpl()
874 sb.Append(prefix).Append("}\n"); in EmitInterfaceStubMethodImpl()
877 void CppCodeEmitter::EmitInterfaceMethodCommands(StringBuilder& sb, const String& prefix) in EmitInterfaceMethodCommands() argument
881 … sb.Append(prefix).AppendFormat("static constexpr int32_t COMMAND_%s = MIN_TRANSACTION_ID + %d;\n", in EmitInterfaceMethodCommands()
928 StringBuilder& sb, const String& prefix) in EmitWriteVariable() argument
932 …sb.Append(prefix).AppendFormat("if (!%sWriteInt32(%s ? 1 : 0)) {\n", parcelName.string(), name.c_s… in EmitWriteVariable()
934 … sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"Write [%s] failed!\");\n", in EmitWriteVariable()
937 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariable()
938 sb.Append(prefix).Append("}\n"); in EmitWriteVariable()
944 … sb.Append(prefix).AppendFormat("if (!%sWriteInt32(%s)) {\n", parcelName.string(), name.c_str()); in EmitWriteVariable()
946 … sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"Write [%s] failed!\");\n", in EmitWriteVariable()
949 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariable()
950 sb.Append(prefix).Append("}\n"); in EmitWriteVariable()
953 … sb.Append(prefix).AppendFormat("if (!%sWriteInt64(%s)) {\n", parcelName.string(), name.c_str()); in EmitWriteVariable()
955 … sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"Write [%s] failed!\");\n", in EmitWriteVariable()
958 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariable()
959 sb.Append(prefix).Append("}\n"); in EmitWriteVariable()
962 EmitWriteVariableFloat(parcelName, name, mt, sb, prefix); in EmitWriteVariable()
968 …String& parcelName, const std::string& name, MetaType* mt, StringBuilder& sb, const String& prefix) in EmitWriteVariableFloat() argument
972 … sb.Append(prefix).AppendFormat("if (!%sWriteFloat(%s)) {\n", parcelName.string(), name.c_str()); in EmitWriteVariableFloat()
974 … sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"Write [%s] failed!\");\n", in EmitWriteVariableFloat()
977 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariableFloat()
978 sb.Append(prefix).Append("}\n"); in EmitWriteVariableFloat()
981 … sb.Append(prefix).AppendFormat("if (!%sWriteDouble(%s)) {\n", parcelName.string(), name.c_str()); in EmitWriteVariableFloat()
983 … sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"Write [%s] failed!\");\n", in EmitWriteVariableFloat()
986 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariableFloat()
987 sb.Append(prefix).Append("}\n"); in EmitWriteVariableFloat()
990 EmitWriteVariableComplex(parcelName, name, mt, sb, prefix); in EmitWriteVariableFloat()
996 …String& parcelName, const std::string& name, MetaType* mt, StringBuilder& sb, const String& prefix) in EmitWriteVariableComplex() argument
1001 …sb.Append(prefix).AppendFormat("if (%s.size() > static_cast<size_t>(VECTOR_MAX_SIZE)) {\n", name.c… in EmitWriteVariableComplex()
1004 sb.Append(prefix).Append(TAB).Append( in EmitWriteVariableComplex()
1007 sb.Append(prefix).Append(TAB).AppendFormat( in EmitWriteVariableComplex()
1011 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariableComplex()
1012 sb.Append(prefix).Append("}\n"); in EmitWriteVariableComplex()
1013 … sb.Append(prefix).AppendFormat("%sWriteInt32(%s.size());\n", parcelName.string(), name.c_str()); in EmitWriteVariableComplex()
1014 sb.Append(prefix).AppendFormat("for (auto it = %s.begin(); it != %s.end(); ++it) {\n", in EmitWriteVariableComplex()
1018 EmitWriteVariable(parcelName, "(*it)", innerType, sb, prefix + TAB); in EmitWriteVariableComplex()
1019 sb.Append(prefix).Append("}\n"); in EmitWriteVariableComplex()
1024 …sb.Append(prefix).AppendFormat("if (%s.size() > static_cast<size_t>(MAP_MAX_SIZE)) {\n", name.c_st… in EmitWriteVariableComplex()
1026 sb.Append(prefix).Append(TAB).AppendFormat( in EmitWriteVariableComplex()
1029 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariableComplex()
1030 sb.Append(prefix).Append("}\n"); in EmitWriteVariableComplex()
1032 … sb.Append(prefix).AppendFormat("%sWriteInt32(%s.size());\n", parcelName.string(), name.c_str()); in EmitWriteVariableComplex()
1033 sb.Append(prefix).AppendFormat("for (auto it = %s.begin(); it != %s.end(); ++it) {\n", in EmitWriteVariableComplex()
1037 EmitWriteVariable(parcelName, "(it->first)", keyType, sb, prefix + TAB); in EmitWriteVariableComplex()
1038 EmitWriteVariable(parcelName, "(it->second)", valueType, sb, prefix + TAB); in EmitWriteVariableComplex()
1039 sb.Append(prefix).Append("}\n"); in EmitWriteVariableComplex()
1043 EmitWriteVariableObject(parcelName, name, mt, sb, prefix); in EmitWriteVariableComplex()
1049 …String& parcelName, const std::string& name, MetaType* mt, StringBuilder& sb, const String& prefix) in EmitWriteVariableObject() argument
1053 … sb.Append(prefix).AppendFormat("if (!%sWriteString16(Str8ToStr16(%s))) {\n", parcelName.string(), in EmitWriteVariableObject()
1056 … sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"Write [%s] failed!\");\n", in EmitWriteVariableObject()
1059 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariableObject()
1060 sb.Append(prefix).Append("}\n"); in EmitWriteVariableObject()
1063 …sb.Append(prefix).AppendFormat("if (!%sWriteParcelable(&%s)) {\n", parcelName.string(), name.c_str… in EmitWriteVariableObject()
1065 … sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"Write [%s] failed!\");\n", in EmitWriteVariableObject()
1068 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariableObject()
1069 sb.Append(prefix).Append("}\n"); in EmitWriteVariableObject()
1072 sb.Append(prefix).AppendFormat("if (%s == nullptr) {\n", name.c_str()); in EmitWriteVariableObject()
1074 …sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"%s is nullptr!\");\n", name.c_st… in EmitWriteVariableObject()
1076 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariableObject()
1077 sb.Append(prefix).Append("}\n"); in EmitWriteVariableObject()
1078 sb.Append(prefix).AppendFormat( in EmitWriteVariableObject()
1081 … sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"Write [%s] failed!\");\n", in EmitWriteVariableObject()
1084 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitWriteVariableObject()
1085 sb.Append(prefix).Append("}\n"); in EmitWriteVariableObject()
1093 StringBuilder& sb, const String& prefix, bool emitType) in EmitReadVariable() argument
1098 sb.Append(prefix).AppendFormat("%s %s = %sReadInt32() == 1 ? true : false;\n", in EmitReadVariable()
1101 sb.Append(prefix).AppendFormat("%s = %sReadInt32() == 1 ? true : false;\n", in EmitReadVariable()
1109 …sb.Append(prefix).AppendFormat("%s %s = (%s)%sReadInt32();\n", EmitType(mt, ATTR_IN, true).string(… in EmitReadVariable()
1112 sb.Append(prefix).AppendFormat("%s = (%s)%sReadInt32();\n", name.c_str(), in EmitReadVariable()
1118 sb.Append(prefix).AppendFormat("%s %s = %sReadInt32();\n", in EmitReadVariable()
1121 … sb.Append(prefix).AppendFormat("%s = %sReadInt32();\n", name.c_str(), parcelName.string()); in EmitReadVariable()
1126 sb.Append(prefix).AppendFormat("%s %s = %sReadInt64();\n", in EmitReadVariable()
1129 … sb.Append(prefix).AppendFormat("%s = %sReadInt64();\n", name.c_str(), parcelName.string()); in EmitReadVariable()
1133 EmitReadVariableFloat(parcelName, name, mt, sb, prefix, emitType); in EmitReadVariable()
1139 StringBuilder& sb, const String& prefix, bool emitType) in EmitReadVariableFloat() argument
1144 sb.Append(prefix).AppendFormat("%s %s = %sReadFloat();\n", in EmitReadVariableFloat()
1147 … sb.Append(prefix).AppendFormat("%s = %sReadFloat();\n", name.c_str(), parcelName.string()); in EmitReadVariableFloat()
1152 sb.Append(prefix).AppendFormat("%s %s = %sReadDouble();\n", in EmitReadVariableFloat()
1155 … sb.Append(prefix).AppendFormat("%s = %sReadDouble();\n", name.c_str(), parcelName.string()); in EmitReadVariableFloat()
1159 EmitReadVariableComplex(parcelName, name, mt, sb, prefix, emitType); in EmitReadVariableFloat()
1165 StringBuilder& sb, const String& prefix, bool emitType) in EmitReadVariableComplex() argument
1170 sb.Append(prefix).AppendFormat("%s %s = Str16ToStr8(%sReadString16());\n", in EmitReadVariableComplex()
1173 sb.Append(prefix).AppendFormat("%s = Str16ToStr8(%sReadString16());\n", in EmitReadVariableComplex()
1179 … sb.Append(prefix).AppendFormat("%s %s;\n", EmitType(mt, ATTR_IN, true).string(), name.c_str()); in EmitReadVariableComplex()
1181 …sb.Append(prefix).AppendFormat("int32_t %sSize = %sReadInt32();\n", name.c_str(), parcelName.strin… in EmitReadVariableComplex()
1182 … sb.Append(prefix).AppendFormat("for (int32_t i = 0; i < %sSize; ++i) {\n", name.c_str()); in EmitReadVariableComplex()
1185 EmitReadVariable(parcelName, "key", keyType, sb, prefix + TAB); in EmitReadVariableComplex()
1186 EmitReadVariable(parcelName, "value", valueType, sb, prefix + TAB); in EmitReadVariableComplex()
1187 sb.Append(prefix + TAB).AppendFormat("%s[key] = value;\n", name.c_str()); in EmitReadVariableComplex()
1188 sb.Append(prefix).Append("}\n"); in EmitReadVariableComplex()
1192 EmitReadVariableList(parcelName, name, mt, sb, prefix, emitType); in EmitReadVariableComplex()
1198 StringBuilder& sb, const String& prefix, bool emitType) in EmitReadVariableList() argument
1204 … sb.Append(prefix).AppendFormat("%s %s;\n", EmitType(mt, ATTR_IN, true).string(), name.c_str()); in EmitReadVariableList()
1206 …sb.Append(prefix).AppendFormat("int32_t %sSize = %sReadInt32();\n", name.c_str(), parcelName.strin… in EmitReadVariableList()
1207 …sb.Append(prefix).AppendFormat("if (%sSize > static_cast<int32_t>(VECTOR_MAX_SIZE)) {\n", name.c_s… in EmitReadVariableList()
1209 sb.Append(prefix + TAB) in EmitReadVariableList()
1212 sb.Append(prefix + TAB).Append("return ERR_INVALID_DATA;\n"); in EmitReadVariableList()
1213 sb.Append(prefix).Append("}\n"); in EmitReadVariableList()
1219 sb.Append(prefix).AppendFormat("for (int32_t %s = 0; %s < %sSize; ++%s) {\n", in EmitReadVariableList()
1222 EmitReadVariable(parcelName, valueStr.c_str(), innerType, sb, prefix + TAB); in EmitReadVariableList()
1224 … sb.Append(prefix + TAB).AppendFormat("%s.push_back(*%s);\n", name.c_str(), valueStr.c_str()); in EmitReadVariableList()
1226 … sb.Append(prefix + TAB).AppendFormat("%s.push_back(%s);\n", name.c_str(), valueStr.c_str()); in EmitReadVariableList()
1228 sb.Append(prefix).Append("}\n"); in EmitReadVariableList()
1232 EmitReadVariableObject(parcelName, name, mt, sb, prefix, emitType); in EmitReadVariableList()
1238 StringBuilder& sb, const String& prefix, bool emitType) in EmitReadVariableObject() argument
1248 … sb.Append(prefix).AppendFormat("std::unique_ptr<%s> %s(%sReadParcelable<%s>());\n\n", in EmitReadVariableObject()
1250 sb.Append(prefix).AppendFormat("if (!%s) {\n", name.c_str()); in EmitReadVariableObject()
1252 sb.Append(prefix).Append(TAB).AppendFormat( in EmitReadVariableObject()
1255 sb.Append(prefix).Append(TAB).Append("return ERR_INVALID_DATA;\n"); in EmitReadVariableObject()
1256 sb.Append(prefix).Append("}\n"); in EmitReadVariableObject()
1258 … sb.Append(prefix).AppendFormat("std::unique_ptr<%s> info(%sReadParcelable<%s>());\n", in EmitReadVariableObject()
1260 sb.Append(prefix).Append("if (info != nullptr) {\n"); in EmitReadVariableObject()
1261 sb.Append(prefix).Append(TAB).AppendFormat("%s = *info;\n", name.c_str()); in EmitReadVariableObject()
1262 sb.Append(prefix).Append("}\n\n"); in EmitReadVariableObject()
1269 sb.Append(prefix).AppendFormat("%s %s = iface_cast<%s>(%sReadRemoteObject());\n", in EmitReadVariableObject()
1271 sb.Append(prefix).AppendFormat("if (%s == nullptr) {\n", name.c_str()); in EmitReadVariableObject()
1273 … sb.Append(prefix).Append(TAB).AppendFormat("HiLog::Error(LABEL, \"Read [%s] failed!\");\n", in EmitReadVariableObject()
1276 sb.Append(prefix).Append(TAB).AppendFormat("return ERR_INVALID_DATA;\n"); in EmitReadVariableObject()
1277 sb.Append(prefix).Append("}\n\n"); in EmitReadVariableObject()
1279 sb.Append(prefix).AppendFormat("%s = iface_cast<%s>(%sReadRemoteObject());\n", in EmitReadVariableObject()
1289 void CppCodeEmitter::EmitLocalVariable(MetaParameter* mp, StringBuilder& sb, const String& prefix) in EmitLocalVariable() argument
1296 … sb.Append(prefix).AppendFormat("%s %s;\n", EmitType(mt, ATTR_IN, true).string(), name.c_str()); in EmitLocalVariable()
1298 … sb.Append(prefix).AppendFormat("%s %s;\n", EmitType(mt, ATTR_IN, true).string(), name.c_str()); in EmitLocalVariable()