mirror of
https://github.com/openharmony/drivers_framework.git
synced 2026-08-28 04:59:54 -04:00
@@ -82,57 +82,28 @@ String ASTArrayType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return String::Format("%s[]", elementType_->EmitJavaType(TypeMode::NO_MODE, false).string());
|
||||
}
|
||||
|
||||
void ASTArrayType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTArrayType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
String lenName = String::Format("%sLen", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(%s, %s)) {\n",
|
||||
parcelName.string(), lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
|
||||
String elementName;
|
||||
String elementReadName;
|
||||
|
||||
String elementName = "";
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT
|
||||
|| elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
elementName = String::Format("%s[i]", name.string());
|
||||
elementReadName = "&" + elementName;
|
||||
elementName = String::Format("&%s[i]", name.string());
|
||||
} else {
|
||||
elementName = String::Format("%s[i]", name.string());
|
||||
elementReadName = elementName;
|
||||
}
|
||||
|
||||
elementType_->EmitCProxyWriteVar(parcelName, elementReadName, gotoLabel, sb, prefix + TAB);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTArrayType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(%s, %sLen)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append("\n");
|
||||
sb.Append(prefix).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string(), name.string());
|
||||
|
||||
String element;
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT
|
||||
|| elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
element = String::Format("&%s[i]", name.string());
|
||||
} else {
|
||||
element = String::Format("%s[i]", name.string());
|
||||
}
|
||||
|
||||
elementType_->EmitCStubWriteVar(parcelName, element, sb, prefix + TAB);
|
||||
elementType_->EmitCWriteVar(parcelName, elementName, gotoLabel, sb, prefix + g_tab);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -142,51 +113,51 @@ void ASTArrayType::EmitCProxyReadVar(const String& parcelName, const String& nam
|
||||
String lenName = String::Format("%sLen", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(%s, %s)) {\n",
|
||||
parcelName.string(), lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s size failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix).AppendFormat("*%s = (%s*)OsalMemAlloc(sizeof(%s) * (*%s));\n",
|
||||
sb.Append(prefix).AppendFormat("*%s = (%s*)OsalMemCalloc(sizeof(%s) * (*%s));\n",
|
||||
name.string(), elementType_->EmitCType().string(), elementType_->EmitCType().string(),
|
||||
lenName.string());
|
||||
sb.Append(prefix).AppendFormat("if (*%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).AppendFormat("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).AppendFormat("}\n\n");
|
||||
} else {
|
||||
sb.Append(prefix).AppendFormat("*%s = (%s*)OsalMemCalloc(sizeof(%s) * (*%s));\n",
|
||||
name.string(), elementType_->EmitCType().string(), elementType_->EmitCType().string(),
|
||||
lenName.string());
|
||||
sb.Append(prefix).AppendFormat("if (*%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).AppendFormat("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).AppendFormat("}\n\n");
|
||||
}
|
||||
sb.Append(prefix).AppendFormat("for (uint32_t i = 0; i < *%s; i++) {\n", lenName.string());
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
String cpName = String::Format("%sCp", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, cpName, true, gotoLabel, sb, prefix + TAB);
|
||||
sb.Append(prefix).Append(TAB).AppendFormat("(*%s)[i] = strdup(%sCp);\n",
|
||||
elementType_->EmitCProxyReadVar(parcelName, cpName, true, gotoLabel, sb, prefix + g_tab);
|
||||
sb.Append(prefix).Append(g_tab).AppendFormat("(*%s)[i] = strdup(%sCp);\n",
|
||||
name.string(), name.string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
String element = String::Format("&(*%s)[i]", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + TAB);
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + g_tab);
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
String element = String::Format("&(*%s)[i]", name.string());
|
||||
String elementCp = String::Format("%sElementCp", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, elementCp, true, gotoLabel, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).AppendFormat("(void)memcpy_s(%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
elementType_->EmitCProxyReadVar(parcelName, elementCp, true, gotoLabel, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).AppendFormat("(void)memcpy_s(%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
element.string(), elementType_->EmitCType().string(), elementCp.string(),
|
||||
elementType_->EmitCType().string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_FILEDESCRIPTOR) {
|
||||
String element = String::Format("(*%s)[i]", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + TAB);
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + g_tab);
|
||||
} else {
|
||||
String element = String::Format("&(*%s)[i]", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + TAB);
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + g_tab);
|
||||
}
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
@@ -197,54 +168,54 @@ void ASTArrayType::EmitCStubReadVar(const String& parcelName, const String& name
|
||||
String lenName = String::Format("%sLen", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(%s, &%s)) {\n",
|
||||
parcelName.string(), lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s size failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
|
||||
sb.Append(prefix).AppendFormat("if (%s > 0) {\n", lenName.string());
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB).AppendFormat("%s = (%s*)OsalMemAlloc(sizeof(%s) * (%s));\n", name.string(),
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s = (%s*)OsalMemCalloc(sizeof(%s) * (%s));\n", name.string(),
|
||||
elementType_->EmitCType().string(), elementType_->EmitCType().string(), lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("goto errors;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("}\n\n");
|
||||
} else {
|
||||
sb.Append(prefix + TAB).AppendFormat("%s = (%s*)OsalMemCalloc(sizeof(%s) * (%s));\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s = (%s*)OsalMemCalloc(sizeof(%s) * (%s));\n",
|
||||
name.string(), elementType_->EmitCType().string(), elementType_->EmitCType().string(),
|
||||
lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("goto errors;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("}\n\n");
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
String element = String::Format("%sCp", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + TAB + TAB);
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("%s[i] = strdup(%sCp);\n", name.string(), name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + g_tab + g_tab);
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("%s[i] = strdup(%sCp);\n", name.string(), name.string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
String element = String::Format("&%s[i]", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + TAB + TAB);
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + g_tab + g_tab);
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
String element = String::Format("%s[i]", name.string());
|
||||
String elementCp = String::Format("%sElementCp", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, elementCp, sb, prefix + TAB + TAB);
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
elementType_->EmitCStubReadVar(parcelName, elementCp, sb, prefix + g_tab + g_tab);
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
element.string(), elementType_->EmitCType().string(), elementCp.string(),
|
||||
elementType_->EmitCType().string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_FILEDESCRIPTOR) {
|
||||
String element = String::Format("%s[i]", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + TAB + TAB);
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + g_tab + g_tab);
|
||||
} else {
|
||||
String element = String::Format("&%s[i]", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + TAB + TAB);
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + g_tab + g_tab);
|
||||
}
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -252,14 +223,14 @@ void ASTArrayType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32(%s.size())) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s.size() failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
String elementName = String::Format("it%d", innerLevel++);
|
||||
sb.Append(prefix).AppendFormat("for (auto %s : %s) {\n", elementName.string(), name.string());
|
||||
|
||||
elementType_->EmitCppWriteVar(parcelName, elementName, sb, prefix + TAB, innerLevel);
|
||||
elementType_->EmitCppWriteVar(parcelName, elementName, sb, prefix + g_tab, innerLevel);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -274,22 +245,22 @@ void ASTArrayType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
innerLevel, innerLevel, name.string(), innerLevel);
|
||||
|
||||
String valueName = String::Format("value%d", innerLevel++);
|
||||
elementType_->EmitCppReadVar(parcelName, valueName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
elementType_->EmitCppReadVar(parcelName, valueName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTArrayType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(data, %sLen)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %sLen failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
|
||||
String elementName = String::Format("(%s)[i]", name.string());
|
||||
elementType_->EmitCMarshalling(elementName, sb, prefix + TAB);
|
||||
elementType_->EmitCMarshalling(elementName, sb, prefix + g_tab);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -298,38 +269,38 @@ void ASTArrayType::EmitCUnMarshalling(const String& name, StringBuilder& sb, con
|
||||
{
|
||||
String lenName = String::Format("%sLen", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(data, &%s)) {\n", lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", lenName.string());
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix).AppendFormat("if (%s > 0) {\n", lenName.string());
|
||||
String newPrefix = prefix + TAB;
|
||||
String newPrefix = prefix + g_tab;
|
||||
|
||||
sb.Append(newPrefix).AppendFormat("%s = (%s*)OsalMemCalloc(sizeof(%s) * %s);\n",
|
||||
name.string(), elementType_->EmitCType().string(), elementType_->EmitCType().string(), lenName.string());
|
||||
sb.Append(newPrefix).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(newPrefix + TAB).AppendFormat("goto errors;\n");
|
||||
sb.Append(newPrefix + g_tab).AppendFormat("goto errors;\n");
|
||||
sb.Append(newPrefix).Append("}\n");
|
||||
freeObjStatements.push_back(String::Format("OsalMemFree(%s);\n", name.string()));
|
||||
sb.Append(newPrefix).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
String element = String::Format("%sElement", name.string());
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + TAB, freeObjStatements);
|
||||
sb.Append(newPrefix).Append(TAB).AppendFormat("%s[i] = strdup(%s);\n",
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + g_tab, freeObjStatements);
|
||||
sb.Append(newPrefix).Append(g_tab).AppendFormat("%s[i] = strdup(%s);\n",
|
||||
name.string(), element.string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
String element = String::Format("&%s[i]", name.string());
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + TAB, freeObjStatements);
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + g_tab, freeObjStatements);
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
String element = String::Format("%s[i]", name.string());
|
||||
String elementCp = String::Format("%sElementCp", name.string());
|
||||
elementType_->EmitCUnMarshalling(elementCp, sb, newPrefix + TAB, freeObjStatements);
|
||||
sb.Append(newPrefix + TAB).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
elementType_->EmitCUnMarshalling(elementCp, sb, newPrefix + g_tab, freeObjStatements);
|
||||
sb.Append(newPrefix + g_tab).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
element.string(), elementType_->EmitCType().string(), elementCp.string(),
|
||||
elementType_->EmitCType().string());
|
||||
} else {
|
||||
String element = String::Format("%s[i]", name.string());
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + TAB, freeObjStatements);
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + g_tab, freeObjStatements);
|
||||
}
|
||||
sb.Append(newPrefix).Append("}\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
@@ -340,14 +311,14 @@ void ASTArrayType::EmitCppMarshalling(const String& parcelName, const String& na
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32(%s.size())) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s.size failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
String elementName = String::Format("it%d", innerLevel++);
|
||||
sb.Append(prefix).AppendFormat("for (auto %s : %s) {\n", elementName.string(), name.string());
|
||||
|
||||
elementType_->EmitCppMarshalling(parcelName, elementName, sb, prefix + TAB, innerLevel);
|
||||
elementType_->EmitCppMarshalling(parcelName, elementName, sb, prefix + g_tab, innerLevel);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -366,22 +337,22 @@ void ASTArrayType::EmitCppUnMarshalling(const String& parcelName, const String&
|
||||
|
||||
String valueName = String::Format("value%d", innerLevel++);
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("%s %s;\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s %s;\n",
|
||||
elementType_->EmitCppType().string(), valueName.string());
|
||||
elementType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
elementType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
sb.Append(prefix + TAB).AppendFormat("%s %s;\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s %s;\n",
|
||||
elementType_->EmitCppType().string(), valueName.string());
|
||||
String cpName = String::Format("%sCp", valueName.string());
|
||||
elementType_->EmitCppUnMarshalling(parcelName, cpName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
elementType_->EmitCppUnMarshalling(parcelName, cpName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
valueName.string(), elementType_->EmitCppType().string(), cpName.string(),
|
||||
elementType_->EmitCppType().string());
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
} else {
|
||||
elementType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
elementType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
}
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -37,12 +37,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -62,27 +62,15 @@ String ASTBooleanType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return isInnerType ? "Boolean" : "boolean";
|
||||
}
|
||||
|
||||
void ASTBooleanType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTBooleanType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt8(%s, %s ? 1 : 0)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTBooleanType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt8(%s, %s ? 1 : 0)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -91,10 +79,10 @@ void ASTBooleanType::EmitCProxyReadVar(const String& parcelName, const String& n
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt8(%s, (int8_t *)%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -103,10 +91,10 @@ void ASTBooleanType::EmitCStubReadVar(const String& parcelName, const String& na
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt8(%s, (int8_t *)%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -114,9 +102,9 @@ void ASTBooleanType::EmitCppWriteVar(const String& parcelName, const String& nam
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteBool(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -135,9 +123,9 @@ void ASTBooleanType::EmitCppReadVar(const String& parcelName, const String& name
|
||||
void ASTBooleanType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt8(data, %s ? 1 : 0)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -145,10 +133,10 @@ void ASTBooleanType::EmitCUnMarshalling(const String& name, StringBuilder& sb, c
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt8(data, (int8_t *)&%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -156,9 +144,9 @@ void ASTBooleanType::EmitCppMarshalling(const String& parcelName, const String&
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteBool(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -62,27 +62,15 @@ String ASTByteType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return isInnerType ? "Byte" : "byte";
|
||||
}
|
||||
|
||||
void ASTByteType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTByteType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt8(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTByteType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt8(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -90,10 +78,10 @@ void ASTByteType::EmitCProxyReadVar(const String& parcelName, const String& name
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt8(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -101,10 +89,10 @@ void ASTByteType::EmitCStubReadVar(const String& parcelName, const String& name,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt8(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -112,9 +100,9 @@ void ASTByteType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteInt8(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -133,9 +121,9 @@ void ASTByteType::EmitCppReadVar(const String& parcelName, const String& name, S
|
||||
void ASTByteType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt8(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -143,10 +131,10 @@ void ASTByteType::EmitCUnMarshalling(const String& name, StringBuilder& sb, cons
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt8(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -154,9 +142,9 @@ void ASTByteType::EmitCppMarshalling(const String& parcelName, const String& nam
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteInt8(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -62,27 +62,15 @@ String ASTDoubleType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return isInnerType ? "Double" : "double";
|
||||
}
|
||||
|
||||
void ASTDoubleType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTDoubleType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteDouble(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTDoubleType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteDouble(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -90,10 +78,10 @@ void ASTDoubleType::EmitCProxyReadVar(const String& parcelName, const String& na
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadDouble(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -101,10 +89,10 @@ void ASTDoubleType::EmitCStubReadVar(const String& parcelName, const String& nam
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadDouble(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -112,9 +100,9 @@ void ASTDoubleType::EmitCppWriteVar(const String& parcelName, const String& name
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteDouble(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -132,9 +120,9 @@ void ASTDoubleType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
void ASTDoubleType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteDouble(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -142,10 +130,10 @@ void ASTDoubleType::EmitCUnMarshalling(const String& name, StringBuilder& sb, co
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadDouble(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -153,9 +141,9 @@ void ASTDoubleType::EmitCppMarshalling(const String& parcelName, const String& n
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteDouble(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
virtual void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -161,27 +161,15 @@ String ASTEnumType::EmitJavaTypeDecl() const
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
void ASTEnumType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTEnumType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(%s, (uint32_t)%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTEnumType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(%s, (uint32_t)%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -190,10 +178,10 @@ void ASTEnumType::EmitCProxyReadVar(const String& parcelName, const String& name
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(%s, (uint32_t*)%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -202,10 +190,10 @@ void ASTEnumType::EmitCStubReadVar(const String& parcelName, const String& name,
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(%s, (uint32_t*)%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -214,9 +202,9 @@ void ASTEnumType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32((uint32_t)%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -235,9 +223,9 @@ void ASTEnumType::EmitCppReadVar(const String& parcelName, const String& name, S
|
||||
void ASTEnumType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt32(data, (int32_t)%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -245,9 +233,9 @@ void ASTEnumType::EmitCUnMarshalling(const String& name, StringBuilder& sb, cons
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt32(data, (int32_t*)&%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -256,9 +244,9 @@ void ASTEnumType::EmitCppMarshalling(const String& parcelName, const String& nam
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32((uint32_t)%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -146,12 +146,9 @@ public:
|
||||
|
||||
String EmitJavaTypeDecl() const;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -62,27 +62,15 @@ String ASTFdType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return isInnerType ? "Integer" : "int";
|
||||
}
|
||||
|
||||
void ASTFdType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTFdType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteFileDescriptor(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTFdType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteFileDescriptor(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -98,10 +86,10 @@ void ASTFdType::EmitCProxyReadVar(const String& parcelName, const String& name,
|
||||
name.string(), parcelName.string());
|
||||
sb.Append(prefix).AppendFormat("if (*%s < 0) {\n", name.string());
|
||||
}
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -111,10 +99,10 @@ void ASTFdType::EmitCStubReadVar(const String& parcelName, const String& name, S
|
||||
sb.Append(prefix).AppendFormat("%s = HdfSbufReadFileDescriptor(%s);\n",
|
||||
name.string(), parcelName.string());
|
||||
sb.Append(prefix).AppendFormat("if (%s < 0) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -122,9 +110,9 @@ void ASTFdType::EmitCppWriteVar(const String& parcelName, const String& name, St
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteFileDescriptor(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -142,9 +130,9 @@ void ASTFdType::EmitCppReadVar(const String& parcelName, const String& name, Str
|
||||
void ASTFdType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteFileDescriptor(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -153,9 +141,9 @@ void ASTFdType::EmitCUnMarshalling(const String& name, StringBuilder& sb, const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("%s = HdfSbufReadFileDescriptor(data);\n", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (%s < 0) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -163,9 +151,9 @@ void ASTFdType::EmitCppMarshalling(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteFileDescriptor(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -62,27 +62,15 @@ String ASTFloatType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return isInnerType ? "Float" : "float";
|
||||
}
|
||||
|
||||
void ASTFloatType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTFloatType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteFloat(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTFloatType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteFloat(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -90,10 +78,10 @@ void ASTFloatType::EmitCProxyReadVar(const String& parcelName, const String& nam
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadFloat(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -101,10 +89,10 @@ void ASTFloatType::EmitCStubReadVar(const String& parcelName, const String& name
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadFloat(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -112,9 +100,9 @@ void ASTFloatType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteFloat(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -132,9 +120,9 @@ void ASTFloatType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
void ASTFloatType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteFloat(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -142,10 +130,10 @@ void ASTFloatType::EmitCUnMarshalling(const String& name, StringBuilder& sb, con
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadFloat(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -153,9 +141,9 @@ void ASTFloatType::EmitCppMarshalling(const String& parcelName, const String& na
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteFloat(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -62,27 +62,15 @@ String ASTIntegerType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return isInnerType ? "Integer" : "int";
|
||||
}
|
||||
|
||||
void ASTIntegerType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTIntegerType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt32(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTIntegerType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt32(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -90,10 +78,10 @@ void ASTIntegerType::EmitCProxyReadVar(const String& parcelName, const String& n
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt32(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -101,10 +89,10 @@ void ASTIntegerType::EmitCStubReadVar(const String& parcelName, const String& na
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt32(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -112,9 +100,9 @@ void ASTIntegerType::EmitCppWriteVar(const String& parcelName, const String& nam
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteInt32(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -132,9 +120,9 @@ void ASTIntegerType::EmitCppReadVar(const String& parcelName, const String& name
|
||||
void ASTIntegerType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt32(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -142,10 +130,10 @@ void ASTIntegerType::EmitCUnMarshalling(const String& name, StringBuilder& sb, c
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt32(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -153,9 +141,9 @@ void ASTIntegerType::EmitCppMarshalling(const String& parcelName, const String&
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteInt32(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -129,14 +129,14 @@ String ASTInterfaceType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return name_;
|
||||
}
|
||||
|
||||
void ASTInterfaceType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTInterfaceType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (HdfSBufWriteRemoteService(data, %s->remote) != 0) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -149,10 +149,10 @@ void ASTInterfaceType::EmitCStubReadVar(const String& parcelName, const String&
|
||||
sb.Append(prefix).AppendFormat("struct HdfRemoteService *%s = HdfSBufReadRemoteService(data);\n",
|
||||
remoteName.string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", remoteName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", remoteName.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix).AppendFormat("%s = %sProxyObtain(%s);\n",
|
||||
name.string(), miName.string(), remoteName.string());
|
||||
@@ -163,9 +163,9 @@ void ASTInterfaceType::EmitCppWriteVar(const String& parcelName, const String& n
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteRemoteObject(%s->AsObject())) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubReadVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
|
||||
@@ -82,56 +82,28 @@ String ASTListType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return String::Format("List<%s>", elementType_->EmitJavaType(mode, true).string());
|
||||
}
|
||||
|
||||
void ASTListType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTListType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
String lenName = String::Format("%sLen", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(%s, %s)) {\n",
|
||||
parcelName.string(), lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
|
||||
String elementName;
|
||||
String elementReadName;
|
||||
|
||||
String elementName = "";
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT
|
||||
|| elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
elementName = String::Format("%s[i]", name.string());
|
||||
elementReadName = "&" + elementName;
|
||||
elementName = String::Format("&%s[i]", name.string());
|
||||
} else {
|
||||
elementName = String::Format("%s[i]", name.string());
|
||||
elementReadName = elementName;
|
||||
}
|
||||
|
||||
elementType_->EmitCProxyWriteVar(parcelName, elementReadName, gotoLabel, sb, prefix + TAB);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTListType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(%s, %sLen)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append("\n");
|
||||
sb.Append(prefix).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string(), name.string());
|
||||
|
||||
String element;
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT
|
||||
|| elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
element = String::Format("&%s[i]", name.string());
|
||||
} else {
|
||||
element = String::Format("%s[i]", name.string());
|
||||
}
|
||||
elementType_->EmitCStubWriteVar(parcelName, element, sb, prefix + TAB);
|
||||
elementType_->EmitCWriteVar(parcelName, elementName, gotoLabel, sb, prefix + g_tab);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -141,51 +113,51 @@ void ASTListType::EmitCProxyReadVar(const String& parcelName, const String& name
|
||||
String lenName = String::Format("%sLen", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(%s, %s)) {\n",
|
||||
parcelName.string(), lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s size failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix).AppendFormat("*%s = (%s*)OsalMemAlloc(sizeof(%s) * (*%s));\n",
|
||||
sb.Append(prefix).AppendFormat("*%s = (%s*)OsalMemCalloc(sizeof(%s) * (*%s));\n",
|
||||
name.string(), elementType_->EmitCType().string(), elementType_->EmitCType().string(),
|
||||
lenName.string());
|
||||
sb.Append(prefix).AppendFormat("if (*%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).AppendFormat("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).AppendFormat("}\n\n");
|
||||
} else {
|
||||
sb.Append(prefix).AppendFormat("*%s = (%s*)OsalMemCalloc(sizeof(%s) * (*%s));\n",
|
||||
name.string(), elementType_->EmitCType().string(), elementType_->EmitCType().string(),
|
||||
lenName.string());
|
||||
sb.Append(prefix).AppendFormat("if (*%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).AppendFormat("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).AppendFormat("}\n\n");
|
||||
}
|
||||
sb.Append(prefix).AppendFormat("for (uint32_t i = 0; i < *%s; i++) {\n", lenName.string());
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
String cpName = String::Format("%sCp", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, cpName, true, gotoLabel, sb, prefix + TAB);
|
||||
sb.Append(prefix).Append(TAB).AppendFormat("(*%s)[i] = strdup(%sCp);\n",
|
||||
elementType_->EmitCProxyReadVar(parcelName, cpName, true, gotoLabel, sb, prefix + g_tab);
|
||||
sb.Append(prefix).Append(g_tab).AppendFormat("(*%s)[i] = strdup(%sCp);\n",
|
||||
name.string(), name.string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
String element = String::Format("&(*%s)[i]", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + TAB);
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + g_tab);
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
String element = String::Format("&(*%s)[i]", name.string());
|
||||
String elementCp = String::Format("%sElementCp", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, elementCp, true, gotoLabel, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).AppendFormat("(void)memcpy_s(%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
elementType_->EmitCProxyReadVar(parcelName, elementCp, true, gotoLabel, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).AppendFormat("(void)memcpy_s(%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
element.string(), elementType_->EmitCType().string(), elementCp.string(),
|
||||
elementType_->EmitCType().string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_FILEDESCRIPTOR) {
|
||||
String element = String::Format("(*%s)[i]", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + TAB);
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + g_tab);
|
||||
} else {
|
||||
String element = String::Format("&(*%s)[i]", name.string());
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + TAB);
|
||||
elementType_->EmitCProxyReadVar(parcelName, element, true, gotoLabel, sb, prefix + g_tab);
|
||||
}
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
@@ -196,54 +168,54 @@ void ASTListType::EmitCStubReadVar(const String& parcelName, const String& name,
|
||||
String lenName = String::Format("%sLen", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(%s, &%s)) {\n",
|
||||
parcelName.string(), lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s size failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
|
||||
sb.Append(prefix).AppendFormat("if (%s > 0) {\n", lenName.string());
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB).AppendFormat("%s = (%s*)OsalMemAlloc(sizeof(%s) * (%s));\n", name.string(),
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s = (%s*)OsalMemCalloc(sizeof(%s) * (%s));\n", name.string(),
|
||||
elementType_->EmitCType().string(), elementType_->EmitCType().string(), lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("goto errors;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("}\n\n");
|
||||
} else {
|
||||
sb.Append(prefix + TAB).AppendFormat("%s = (%s*)OsalMemCalloc(sizeof(%s) * (%s));\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s = (%s*)OsalMemCalloc(sizeof(%s) * (%s));\n",
|
||||
name.string(), elementType_->EmitCType().string(), elementType_->EmitCType().string(),
|
||||
lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("goto errors;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("}\n\n");
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
String element = String::Format("%sCp", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + TAB + TAB);
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("%s[i] = strdup(%sCp);\n", name.string(), name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + g_tab + g_tab);
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("%s[i] = strdup(%sCp);\n", name.string(), name.string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
String element = String::Format("&%s[i]", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + TAB + TAB);
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + g_tab + g_tab);
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
String element = String::Format("%s[i]", name.string());
|
||||
String elementCp = String::Format("%sElementCp", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, elementCp, sb, prefix + TAB + TAB);
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
elementType_->EmitCStubReadVar(parcelName, elementCp, sb, prefix + g_tab + g_tab);
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
element.string(), elementType_->EmitCType().string(), elementCp.string(),
|
||||
elementType_->EmitCType().string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_FILEDESCRIPTOR) {
|
||||
String element = String::Format("%s[i]", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + TAB + TAB);
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + g_tab + g_tab);
|
||||
} else {
|
||||
String element = String::Format("&%s[i]", name.string());
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + TAB + TAB);
|
||||
elementType_->EmitCStubReadVar(parcelName, element, sb, prefix + g_tab + g_tab);
|
||||
}
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -251,14 +223,14 @@ void ASTListType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32(%s.size())) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s.size() failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
String elementName = String::Format("it%d", innerLevel++);
|
||||
sb.Append(prefix).AppendFormat("for (auto %s : %s) {\n", elementName.string(), name.string());
|
||||
|
||||
elementType_->EmitCppWriteVar(parcelName, elementName, sb, prefix + TAB, innerLevel);
|
||||
elementType_->EmitCppWriteVar(parcelName, elementName, sb, prefix + g_tab, innerLevel);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -273,22 +245,22 @@ void ASTListType::EmitCppReadVar(const String& parcelName, const String& name, S
|
||||
innerLevel, innerLevel, name.string(), innerLevel);
|
||||
|
||||
String valueName = String::Format("value%d", innerLevel++);
|
||||
elementType_->EmitCppReadVar(parcelName, valueName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
elementType_->EmitCppReadVar(parcelName, valueName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTListType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(data, %sLen)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %sLen failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
|
||||
String elementName = String::Format("(%s)[i]", name.string());
|
||||
elementType_->EmitCMarshalling(elementName, sb, prefix + TAB);
|
||||
elementType_->EmitCMarshalling(elementName, sb, prefix + g_tab);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -297,40 +269,40 @@ void ASTListType::EmitCUnMarshalling(const String& name, StringBuilder& sb, cons
|
||||
{
|
||||
String lenName = String::Format("%sLen", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(data, &%s)) {\n", lenName.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", lenName.string());
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
|
||||
sb.Append(prefix).AppendFormat("if (%s > 0) {\n", lenName.string());
|
||||
String newPrefix = prefix + TAB;
|
||||
String newPrefix = prefix + g_tab;
|
||||
|
||||
sb.Append(newPrefix).AppendFormat("%s = (%s*)OsalMemCalloc(sizeof(%s) * %s);\n",
|
||||
name.string(), elementType_->EmitCType().string(), elementType_->EmitCType().string(), lenName.string());
|
||||
sb.Append(newPrefix).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(newPrefix + TAB).AppendFormat("goto errors;\n");
|
||||
sb.Append(newPrefix + g_tab).AppendFormat("goto errors;\n");
|
||||
sb.Append(newPrefix).Append("}\n");
|
||||
|
||||
freeObjStatements.push_back(String::Format("OsalMemFree(%s);\n", name.string()));
|
||||
sb.Append(newPrefix).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
String element = String::Format("%sElement", name.string());
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + TAB, freeObjStatements);
|
||||
sb.Append(newPrefix).Append(TAB).AppendFormat("%s[i] = strdup(%s);\n",
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + g_tab, freeObjStatements);
|
||||
sb.Append(newPrefix).Append(g_tab).AppendFormat("%s[i] = strdup(%s);\n",
|
||||
name.string(), element.string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
String element = String::Format("&%s[i]", name.string());
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + TAB, freeObjStatements);
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + g_tab, freeObjStatements);
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
String element = String::Format("%s[i]", name.string());
|
||||
String elementCp = String::Format("%sElementCp", name.string());
|
||||
elementType_->EmitCUnMarshalling(elementCp, sb, newPrefix + TAB, freeObjStatements);
|
||||
sb.Append(newPrefix + TAB).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
elementType_->EmitCUnMarshalling(elementCp, sb, newPrefix + g_tab, freeObjStatements);
|
||||
sb.Append(newPrefix + g_tab).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
element.string(), elementType_->EmitCType().string(), elementCp.string(),
|
||||
elementType_->EmitCType().string());
|
||||
} else {
|
||||
String element = String::Format("%s[i]", name.string());
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + TAB, freeObjStatements);
|
||||
elementType_->EmitCUnMarshalling(element, sb, newPrefix + g_tab, freeObjStatements);
|
||||
}
|
||||
sb.Append(newPrefix).Append("}\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
@@ -341,14 +313,14 @@ void ASTListType::EmitCppMarshalling(const String& parcelName, const String& nam
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32(%s.size())) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s.size failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
String elementName = String::Format("it%d", innerLevel++);
|
||||
sb.Append(prefix).AppendFormat("for (auto %s : %s) {\n", elementName.string(), name.string());
|
||||
|
||||
elementType_->EmitCppMarshalling(parcelName, elementName, sb, prefix + TAB, innerLevel);
|
||||
elementType_->EmitCppMarshalling(parcelName, elementName, sb, prefix + g_tab, innerLevel);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -367,22 +339,22 @@ void ASTListType::EmitCppUnMarshalling(const String& parcelName, const String& n
|
||||
|
||||
String valueName = String::Format("value%d", innerLevel++);
|
||||
if (elementType_->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("%s %s;\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s %s;\n",
|
||||
elementType_->EmitCppType().string(), valueName.string());
|
||||
elementType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
elementType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
} else if (elementType_->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
sb.Append(prefix + TAB).AppendFormat("%s %s;\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s %s;\n",
|
||||
elementType_->EmitCppType().string(), valueName.string());
|
||||
String cpName = String::Format("%sCp", valueName.string());
|
||||
elementType_->EmitCppUnMarshalling(parcelName, cpName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
elementType_->EmitCppUnMarshalling(parcelName, cpName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
valueName.string(), elementType_->EmitCppType().string(), cpName.string(),
|
||||
elementType_->EmitCppType().string());
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
} else {
|
||||
elementType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
elementType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.push_back(%s);\n", name.string(), valueName.string());
|
||||
}
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -38,12 +38,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -62,27 +62,15 @@ String ASTLongType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return isInnerType ? "Long" : "long";
|
||||
}
|
||||
|
||||
void ASTLongType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTLongType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt64(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTLongType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt64(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -90,10 +78,10 @@ void ASTLongType::EmitCProxyReadVar(const String& parcelName, const String& name
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt64(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -101,10 +89,10 @@ void ASTLongType::EmitCStubReadVar(const String& parcelName, const String& name,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt64(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -112,9 +100,9 @@ void ASTLongType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteInt64(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -132,9 +120,9 @@ void ASTLongType::EmitCppReadVar(const String& parcelName, const String& name, S
|
||||
void ASTLongType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt64(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -142,10 +130,10 @@ void ASTLongType::EmitCUnMarshalling(const String& name, StringBuilder& sb, cons
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt64(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -153,9 +141,9 @@ void ASTLongType::EmitCppMarshalling(const String& parcelName, const String& nam
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteInt64(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -61,17 +61,17 @@ void ASTMapType::EmitCppWriteVar(const String& parcelName, const String& name, S
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32(%s.size())) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
String elementName = String::Format("it%d", innerLevel++);
|
||||
sb.Append(prefix).AppendFormat("for (auto %s : %s) {\n", elementName.string(), name.string());
|
||||
|
||||
String keyName = String::Format("(%s.first)", elementName.string());
|
||||
String valueName = String::Format("(%s.second)", elementName.string());
|
||||
keyType_->EmitCppWriteVar(parcelName, keyName, sb, prefix + TAB, innerLevel);
|
||||
valueType_->EmitCppWriteVar(parcelName, valueName, sb, prefix + TAB, innerLevel);
|
||||
keyType_->EmitCppWriteVar(parcelName, keyName, sb, prefix + g_tab, innerLevel);
|
||||
valueType_->EmitCppWriteVar(parcelName, valueName, sb, prefix + g_tab, innerLevel);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -87,9 +87,9 @@ void ASTMapType::EmitCppReadVar(const String& parcelName, const String& name, St
|
||||
String KeyName = String::Format("key%d", innerLevel);
|
||||
String valueName = String::Format("value%d", innerLevel);
|
||||
innerLevel++;
|
||||
keyType_->EmitCppReadVar(parcelName, KeyName, sb, prefix + TAB, true, innerLevel);
|
||||
valueType_->EmitCppReadVar(parcelName, valueName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s[%s] = %s;\n", name.string(), KeyName.string(), valueName.string());
|
||||
keyType_->EmitCppReadVar(parcelName, KeyName, sb, prefix + g_tab, true, innerLevel);
|
||||
valueType_->EmitCppReadVar(parcelName, valueName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s[%s] = %s;\n", name.string(), KeyName.string(), valueName.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -97,17 +97,17 @@ void ASTMapType::EmitCppMarshalling(const String& parcelName, const String& name
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32(%s.size())) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s.size failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
String elementName = String::Format("it%d", innerLevel++);
|
||||
sb.Append(prefix).AppendFormat("for (auto %s : %s) {\n", elementName.string(), name.string());
|
||||
|
||||
String keyName = String::Format("(%s.first)", elementName.string());
|
||||
String valName = String::Format("(%s.second)", elementName.string());
|
||||
keyType_->EmitCppMarshalling(parcelName, keyName, sb, prefix + TAB, innerLevel);
|
||||
valueType_->EmitCppMarshalling(parcelName, valName, sb, prefix + TAB, innerLevel);
|
||||
keyType_->EmitCppMarshalling(parcelName, keyName, sb, prefix + g_tab, innerLevel);
|
||||
valueType_->EmitCppMarshalling(parcelName, valName, sb, prefix + g_tab, innerLevel);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -123,9 +123,9 @@ void ASTMapType::EmitCppUnMarshalling(const String& parcelName, const String& na
|
||||
String KeyName = String::Format("key%d", innerLevel);
|
||||
String valueName = String::Format("value%d", innerLevel);
|
||||
innerLevel++;
|
||||
keyType_->EmitCppUnMarshalling(parcelName, KeyName, sb, prefix + TAB, true, innerLevel);
|
||||
valueType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + TAB, true, innerLevel);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s[%s] = %s;\n",
|
||||
keyType_->EmitCppUnMarshalling(parcelName, KeyName, sb, prefix + g_tab, true, innerLevel);
|
||||
valueType_->EmitCppUnMarshalling(parcelName, valueName, sb, prefix + g_tab, true, innerLevel);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s[%s] = %s;\n",
|
||||
name.string(), KeyName.string(), valueName.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -205,5 +205,16 @@ String ASTParameter::EmitJavaLocalVar()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
void ASTParameter::EmitCWriteVar(const String& parcelName, const String& gotoLabel, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
if (type_ == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
type_->EmitCWriteVar(parcelName, name_, gotoLabel, sb, prefix);
|
||||
}
|
||||
|
||||
} // namespace HDI
|
||||
} // namespace OHOS
|
||||
@@ -67,6 +67,8 @@ public:
|
||||
String EmitCppLocalVar();
|
||||
|
||||
String EmitJavaLocalVar();
|
||||
|
||||
void EmitCWriteVar(const String& parcelName, const String& gotoLabel, StringBuilder& sb, const String& prefix) const;
|
||||
private:
|
||||
String name_;
|
||||
AutoPtr<ASTType> type_ = nullptr;
|
||||
|
||||
@@ -85,9 +85,9 @@ void ASTSequenceableType::EmitCppWriteVar(const String& parcelName, const String
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteStrongParcelable(%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -108,9 +108,9 @@ void ASTSequenceableType::EmitCppMarshalling(const String& parcelName, const Str
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteStrongParcelable(%s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -62,27 +62,15 @@ String ASTShortType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return isInnerType ? "Short" : "short";
|
||||
}
|
||||
|
||||
void ASTShortType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTShortType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt16(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTShortType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt16(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -90,10 +78,10 @@ void ASTShortType::EmitCProxyReadVar(const String& parcelName, const String& nam
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt16(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -101,10 +89,10 @@ void ASTShortType::EmitCStubReadVar(const String& parcelName, const String& name
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt16(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -112,9 +100,9 @@ void ASTShortType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteInt16(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -133,9 +121,9 @@ void ASTShortType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
void ASTShortType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteInt16(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -143,10 +131,10 @@ void ASTShortType::EmitCUnMarshalling(const String& name, StringBuilder& sb, con
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadInt16(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -154,9 +142,9 @@ void ASTShortType::EmitCppMarshalling(const String& parcelName, const String& na
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteInt16(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -62,27 +62,15 @@ String ASTStringType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return "String";
|
||||
}
|
||||
|
||||
void ASTStringType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTStringType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteString(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTStringType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteString(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -92,10 +80,10 @@ void ASTStringType::EmitCProxyReadVar(const String& parcelName, const String& na
|
||||
sb.Append(prefix).AppendFormat("const char *%s = HdfSbufReadString(%s);\n",
|
||||
name.string(), parcelName.string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -105,10 +93,10 @@ void ASTStringType::EmitCStubReadVar(const String& parcelName, const String& nam
|
||||
sb.Append(prefix).AppendFormat("const char *%s = HdfSbufReadString(%s);\n",
|
||||
name.string(), parcelName.string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -116,9 +104,9 @@ void ASTStringType::EmitCppWriteVar(const String& parcelName, const String& name
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteString(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -136,9 +124,9 @@ void ASTStringType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
void ASTStringType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteString(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -147,10 +135,10 @@ void ASTStringType::EmitCUnMarshalling(const String& name, StringBuilder& sb, co
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("const char *%s = HdfSbufReadString(data);\n", name.string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -158,9 +146,9 @@ void ASTStringType::EmitCppMarshalling(const String& parcelName, const String& n
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteString(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -147,27 +147,15 @@ String ASTStructType::EmitJavaTypeDecl() const
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
void ASTStructType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTStructType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockMarshalling(%s, %s)) {\n",
|
||||
name_.string(), parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTStructType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockMarshalling(%s, %s)) {\n",
|
||||
name_.string(), parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -176,10 +164,10 @@ void ASTStructType::EmitCProxyReadVar(const String& parcelName, const String& na
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockUnmarshalling(%s, %s)) {\n",
|
||||
name_.string(), parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -188,10 +176,10 @@ void ASTStructType::EmitCStubReadVar(const String& parcelName, const String& nam
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockUnmarshalling(%s, %s)) {\n",
|
||||
name_.string(), parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).AppendFormat("}\n");
|
||||
}
|
||||
|
||||
@@ -200,9 +188,9 @@ void ASTStructType::EmitCppWriteVar(const String& parcelName, const String& name
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockMarshalling(%s, %s)) {\n",
|
||||
EmitCppType().string(), parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -214,8 +202,8 @@ void ASTStructType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
}
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockUnmarshalling(%s, %s)) {\n",
|
||||
name_.string(), parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("HDF_LOGE(\"%%s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("HDF_LOGE(\"%%s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -223,9 +211,9 @@ void ASTStructType::EmitCMarshalling(const String& name, StringBuilder& sb, cons
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockMarshalling(data, &%s)) {\n",
|
||||
name_.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -234,9 +222,9 @@ void ASTStructType::EmitCUnMarshalling(const String& name, StringBuilder& sb, co
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockUnmarshalling(data, %s)) {\n",
|
||||
name_.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -245,9 +233,9 @@ void ASTStructType::EmitCppMarshalling(const String& parcelName, const String& n
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockMarshalling(%s, %s)) {\n",
|
||||
name_.string(), parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -256,9 +244,9 @@ void ASTStructType::EmitCppUnMarshalling(const String& parcelName, const String&
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%sBlockUnmarshalling(data, %s)) {\n",
|
||||
EmitCppType().string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
} // namespace HDI
|
||||
|
||||
@@ -92,12 +92,9 @@ public:
|
||||
|
||||
String EmitJavaTypeDecl() const;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
const char* ASTType::TAB = " ";
|
||||
const char* g_tab = " ";
|
||||
|
||||
void ASTType::SetName(const String& name)
|
||||
{
|
||||
@@ -172,18 +172,12 @@ String ASTType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return "unknow";
|
||||
}
|
||||
|
||||
void ASTType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("//Writeing \"%s\" type of data is not supported\n", name_.string());
|
||||
}
|
||||
|
||||
void ASTType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("//Writing \"%s\" type of data is not supported\n", name_.string());
|
||||
}
|
||||
|
||||
void ASTType::EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
extern const char* g_tab;
|
||||
|
||||
enum class TypeKind {
|
||||
TYPE_UNKNOWN = 0,
|
||||
TYPE_BOOLEAN,
|
||||
@@ -121,12 +123,9 @@ public:
|
||||
|
||||
virtual String EmitJavaType(TypeMode mode, bool isInnerType = false) const;
|
||||
|
||||
virtual void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
virtual void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const;
|
||||
|
||||
virtual void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const;
|
||||
|
||||
virtual void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const;
|
||||
|
||||
@@ -153,7 +152,6 @@ public:
|
||||
virtual void EmitCppUnMarshalling(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix, bool emitType, unsigned int innerLevel = 0) const;
|
||||
protected:
|
||||
static const char* TAB;
|
||||
String name_;
|
||||
AutoPtr<ASTNamespace> namespace_;
|
||||
TypeKind typeKind_;
|
||||
|
||||
@@ -63,27 +63,15 @@ String ASTUcharType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return "/";
|
||||
}
|
||||
|
||||
void ASTUcharType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTUcharType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint8(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTUcharType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint8(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -91,10 +79,10 @@ void ASTUcharType::EmitCProxyReadVar(const String& parcelName, const String& nam
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint8(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -102,10 +90,10 @@ void ASTUcharType::EmitCStubReadVar(const String& parcelName, const String& name
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint8(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -113,9 +101,9 @@ void ASTUcharType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint8(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -133,9 +121,9 @@ void ASTUcharType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
void ASTUcharType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint8(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -143,10 +131,10 @@ void ASTUcharType::EmitCUnMarshalling(const String& name, StringBuilder& sb, con
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint8(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -154,9 +142,9 @@ void ASTUcharType::EmitCppMarshalling(const String& parcelName, const String& na
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint8(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -63,27 +63,15 @@ String ASTUintType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return "/";
|
||||
}
|
||||
|
||||
void ASTUintType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTUintType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTUintType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -91,10 +79,10 @@ void ASTUintType::EmitCProxyReadVar(const String& parcelName, const String& name
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -102,10 +90,10 @@ void ASTUintType::EmitCStubReadVar(const String& parcelName, const String& name,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -113,9 +101,9 @@ void ASTUintType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -133,9 +121,9 @@ void ASTUintType::EmitCppReadVar(const String& parcelName, const String& name, S
|
||||
void ASTUintType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint32(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -143,10 +131,10 @@ void ASTUintType::EmitCUnMarshalling(const String& name, StringBuilder& sb, cons
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint32(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -154,9 +142,9 @@ void ASTUintType::EmitCppMarshalling(const String& parcelName, const String& nam
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint32(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -63,27 +63,15 @@ String ASTUlongType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return "/";
|
||||
}
|
||||
|
||||
void ASTUlongType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTUlongType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint64(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTUlongType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint64(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -91,10 +79,10 @@ void ASTUlongType::EmitCProxyReadVar(const String& parcelName, const String& nam
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint64(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -102,10 +90,10 @@ void ASTUlongType::EmitCStubReadVar(const String& parcelName, const String& name
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint64(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -113,9 +101,9 @@ void ASTUlongType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint64(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -133,9 +121,9 @@ void ASTUlongType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
void ASTUlongType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint64(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -143,10 +131,10 @@ void ASTUlongType::EmitCUnMarshalling(const String& name, StringBuilder& sb, con
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint64(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -154,9 +142,9 @@ void ASTUlongType::EmitCppMarshalling(const String& parcelName, const String& na
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint64(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -147,27 +147,15 @@ String ASTUnionType::EmitJavaTypeDecl() const
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
void ASTUnionType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTUnionType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUnpadBuffer(%s, (const uint8_t *)%s, sizeof(%s))) {\n",
|
||||
parcelName.string(), name.string(), EmitCType().string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTUnionType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUnpadBuffer(%s, (const uint8_t *)%s, sizeof(%s))) {\n",
|
||||
parcelName.string(), name.string(), EmitCType().string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -178,8 +166,10 @@ void ASTUnionType::EmitCProxyReadVar(const String& parcelName, const String& nam
|
||||
EmitCType().string(), name.string(), EmitCType().string(), parcelName.string(),
|
||||
EmitCType().string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -190,10 +180,10 @@ void ASTUnionType::EmitCStubReadVar(const String& parcelName, const String& name
|
||||
EmitCType().string(), name.string(), EmitCType().string(), parcelName.string(),
|
||||
EmitCType().string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -202,9 +192,9 @@ void ASTUnionType::EmitCppWriteVar(const String& parcelName, const String& name,
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUnpadBuffer((const uint8_t *)&%s, sizeof(%s))) {\n",
|
||||
parcelName.string(), name.string(), EmitCppType().string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -219,8 +209,8 @@ void ASTUnionType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
EmitCppType().string(), name.string(), EmitCppType().string(), parcelName.string(),
|
||||
EmitCppType().string());
|
||||
sb.Append(prefix).AppendFormat("if (%sCp == nullptr) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("HDF_LOGE(\"%%s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("HDF_LOGE(\"%%s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %sCp, sizeof(%s));\n",
|
||||
name.string(), EmitCppType().string(), name.string(), EmitCppType().string());
|
||||
@@ -230,9 +220,9 @@ void ASTUnionType::EmitCMarshalling(const String& name, StringBuilder& sb, const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUnpadBuffer(data, (const uint8_t *)&%s, sizeof(%s))) {\n",
|
||||
name.string(), EmitCType().string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -242,9 +232,9 @@ void ASTUnionType::EmitCUnMarshalling(const String& name, StringBuilder& sb, con
|
||||
sb.Append(prefix).AppendFormat("const %s *%s = (const %s *)HdfSbufReadUnpadBuffer(data, sizeof(%s));\n",
|
||||
EmitCType().string(), name.string(), EmitCType().string(), EmitCType().string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -253,9 +243,9 @@ void ASTUnionType::EmitCppMarshalling(const String& parcelName, const String& na
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUnpadBuffer((const void*)&%s, sizeof(%s))) {\n",
|
||||
parcelName.string(), name.string(), EmitCppType().string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -267,9 +257,9 @@ void ASTUnionType::EmitCppUnMarshalling(const String& parcelName, const String&
|
||||
EmitCppType().string(), name.string(), EmitCppType().string(), parcelName.string(),
|
||||
EmitCppType().string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == nullptr) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
} // namespace HDI
|
||||
|
||||
@@ -92,12 +92,9 @@ public:
|
||||
|
||||
String EmitJavaTypeDecl() const;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -63,27 +63,15 @@ String ASTUshortType::EmitJavaType(TypeMode mode, bool isInnerType) const
|
||||
return "/";
|
||||
}
|
||||
|
||||
void ASTUshortType::EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void ASTUshortType::EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint16(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
void ASTUshortType::EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint16(%s, %s)) {\n",
|
||||
parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -91,10 +79,10 @@ void ASTUshortType::EmitCProxyReadVar(const String& parcelName, const String& na
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint16(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -102,10 +90,10 @@ void ASTUshortType::EmitCStubReadVar(const String& parcelName, const String& nam
|
||||
const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint16(%s, %s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -113,9 +101,9 @@ void ASTUshortType::EmitCppWriteVar(const String& parcelName, const String& name
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint16(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -133,9 +121,9 @@ void ASTUshortType::EmitCppReadVar(const String& parcelName, const String& name,
|
||||
void ASTUshortType::EmitCMarshalling(const String& name, StringBuilder& sb, const String& prefix) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufWriteUint16(data, %s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -143,10 +131,10 @@ void ASTUshortType::EmitCUnMarshalling(const String& name, StringBuilder& sb, co
|
||||
std::vector<String>& freeObjStatements) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!HdfSbufReadUint16(data, &%s)) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: read %s failed!\", __func__);\n", name.string());
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
EmitFreeStatements(freeObjStatements, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -154,9 +142,9 @@ void ASTUshortType::EmitCppMarshalling(const String& parcelName, const String& n
|
||||
const String& prefix, unsigned int innerLevel) const
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("if (!%s.WriteUint16(%s)) {\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: write %s failed!\", __func__);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("return false;\n");
|
||||
sb.Append(prefix + g_tab).Append("return false;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,9 @@ public:
|
||||
|
||||
String EmitJavaType(TypeMode mode, bool isInnerType = false) const override;
|
||||
|
||||
void EmitCProxyWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
void EmitCWriteVar(const String& parcelName, const String& name, const String& gotoLabel,
|
||||
StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
void EmitCStubWriteVar(const String& parcelName, const String& name, StringBuilder& sb,
|
||||
const String& prefix) const override;
|
||||
|
||||
void EmitCProxyReadVar(const String& parcelName, const String& name, bool isInnerType,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix) const override;
|
||||
|
||||
|
||||
@@ -85,9 +85,9 @@ void CClientInterfaceCodeEmitter::EmitForwardDecls(StringBuilder& sb)
|
||||
void CClientInterfaceCodeEmitter::EmitInterfaceDecl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("struct %s {\n", interfaceName_.string());
|
||||
sb.Append(TAB).Append("struct HdfRemoteService *remote;\n");
|
||||
sb.Append(g_tab).Append("struct HdfRemoteService *remote;\n");
|
||||
sb.Append("\n");
|
||||
EmitInterfaceMethodsDecl(sb, TAB);
|
||||
EmitInterfaceMethodsDecl(sb, g_tab);
|
||||
sb.Append("};\n");
|
||||
if (!isCallbackInterface()) {
|
||||
sb.Append("\n");
|
||||
@@ -126,7 +126,7 @@ void CClientInterfaceCodeEmitter::EmitInterfaceMethodDecl(const AutoPtr<ASTMetho
|
||||
}
|
||||
|
||||
paramStr.Append(");");
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -149,15 +149,15 @@ void CClientProxyCodeEmitter::EmitProxyCallMethodImpl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("static int32_t %sProxyCall(struct %s *self, int32_t id, struct HdfSBuf *data,\n",
|
||||
infName_.string(), interfaceName_.string());
|
||||
sb.Append(TAB).Append("struct HdfSBuf *reply)\n");
|
||||
sb.Append(g_tab).Append("struct HdfSBuf *reply)\n");
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).Append("if (self->remote == NULL\n");
|
||||
sb.Append(TAB).Append(TAB).Append("|| self->remote->dispatcher == NULL\n");
|
||||
sb.Append(TAB).Append(TAB).Append("|| self->remote->dispatcher->Dispatch == NULL) {\n");
|
||||
sb.Append(TAB).Append(TAB).Append("HDF_LOGE(\"%{public}s: obj is null\", __func__);\n");
|
||||
sb.Append(TAB).Append(TAB).Append("return HDF_ERR_INVALID_OBJECT;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(TAB).Append("return self->remote->dispatcher->Dispatch(self->remote, id, data, reply);\n");
|
||||
sb.Append(g_tab).Append("if (self->remote == NULL\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("|| self->remote->dispatcher == NULL\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("|| self->remote->dispatcher->Dispatch == NULL) {\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("HDF_LOGE(\"%{public}s: obj is null\", __func__);\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return HDF_ERR_INVALID_OBJECT;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append(g_tab).Append("return self->remote->dispatcher->Dispatch(self->remote, id, data, reply);\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ void CClientProxyCodeEmitter::EmitProxyMethodImpl(const AutoPtr<ASTMethod>& meth
|
||||
}
|
||||
|
||||
paramStr.Append(")");
|
||||
sb.Append(SpecificationParam(paramStr, TAB));
|
||||
sb.Append(SpecificationParam(paramStr, g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
EmitProxyMethodBody(method, sb, "");
|
||||
@@ -200,18 +200,18 @@ void CClientProxyCodeEmitter::EmitProxyMethodBody(const AutoPtr<ASTMethod>& meth
|
||||
const String& prefix)
|
||||
{
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).Append("int32_t ec = HDF_FAILURE;\n");
|
||||
sb.Append(prefix + g_tab).Append("int32_t ec = HDF_FAILURE;\n");
|
||||
sb.Append("\n");
|
||||
|
||||
sb.Append(prefix + TAB).Append("struct HdfSBuf *data = HdfSBufTypedObtain(SBUF_IPC);\n");
|
||||
sb.Append(prefix + TAB).Append("struct HdfSBuf *reply = HdfSBufTypedObtain(SBUF_IPC);\n");
|
||||
sb.Append(prefix + g_tab).Append("struct HdfSBuf *data = HdfSBufTypedObtain(SBUF_IPC);\n");
|
||||
sb.Append(prefix + g_tab).Append("struct HdfSBuf *reply = HdfSBufTypedObtain(SBUF_IPC);\n");
|
||||
sb.Append("\n");
|
||||
|
||||
sb.Append(prefix + TAB).Append("if (data == NULL || reply == NULL) {\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("HDF_LOGE(\"%{public}s: HdfSubf malloc failed!\", __func__);\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("goto finished;\n");
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("if (data == NULL || reply == NULL) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("HDF_LOGE(\"%{public}s: HdfSubf malloc failed!\", __func__);\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("goto finished;\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
|
||||
String gotoName = GetGotLabel(method);
|
||||
@@ -219,24 +219,24 @@ void CClientProxyCodeEmitter::EmitProxyMethodBody(const AutoPtr<ASTMethod>& meth
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_IN) {
|
||||
EmitWriteProxyMethodParameter(param, "data", gotoName, sb, prefix + TAB);
|
||||
param->EmitCWriteVar("data", gotoName, sb, prefix + g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).AppendFormat("ec = %sCall(self, CMD_%s, data, reply);\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("ec = %sCall(self, CMD_%s, data, reply);\n",
|
||||
proxyName_.string(), ConstantName(method->GetName()).string());
|
||||
sb.Append(prefix + TAB).Append("if (ec != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + TAB + TAB).Append(
|
||||
sb.Append(prefix + g_tab).Append("if (ec != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append(
|
||||
"HDF_LOGE(\"%{public}s: call failed! error code is %{public}d\", __func__, ec);\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("goto %s;\n", gotoName.string());
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("goto %s;\n", gotoName.string());
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_OUT) {
|
||||
EmitReadProxyMethodParameter(param, "reply", gotoName, sb, prefix + TAB);
|
||||
EmitReadProxyMethodParameter(param, "reply", gotoName, sb, prefix + g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
@@ -244,23 +244,16 @@ void CClientProxyCodeEmitter::EmitProxyMethodBody(const AutoPtr<ASTMethod>& meth
|
||||
EmitErrorHandle(method, sb, prefix);
|
||||
|
||||
sb.Append(prefix).Append("finished:\n");
|
||||
sb.Append(prefix + TAB).Append("if (data != NULL) {\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("HdfSBufRecycle(data);\n");
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + TAB).Append("if (reply != NULL) {\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("HdfSBufRecycle(reply);\n");
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + TAB).Append("return ec;\n");
|
||||
sb.Append(prefix + g_tab).Append("if (data != NULL) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("HdfSBufRecycle(data);\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("if (reply != NULL) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("HdfSBufRecycle(reply);\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("return ec;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
void CClientProxyCodeEmitter::EmitWriteProxyMethodParameter(const AutoPtr<ASTParameter>& param,
|
||||
const String& parcelName, const String& gotoLabel, StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
AutoPtr<ASTType> type = param->GetType();
|
||||
type->EmitCProxyWriteVar(parcelName, param->GetName(), gotoLabel, sb, prefix);
|
||||
}
|
||||
|
||||
void CClientProxyCodeEmitter::EmitReadProxyMethodParameter(const AutoPtr<ASTParameter>& param,
|
||||
const String& parcelName, const String& gotoLabel, StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
@@ -275,8 +268,8 @@ void CClientProxyCodeEmitter::EmitReadProxyMethodParameter(const AutoPtr<ASTPara
|
||||
sb.Append(prefix).AppendFormat("%s = (%s*)OsalMemAlloc(sizeof(%s));\n",
|
||||
name.string(), type->EmitCType().string(), type->EmitCType().string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
type->EmitCProxyReadVar(parcelName, name, false, gotoLabel, sb, prefix);
|
||||
} else if (type->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
@@ -285,8 +278,8 @@ void CClientProxyCodeEmitter::EmitReadProxyMethodParameter(const AutoPtr<ASTPara
|
||||
sb.Append(prefix).AppendFormat("*%s = (%s*)OsalMemAlloc(sizeof(%s));\n",
|
||||
param->GetName().string(), type->EmitCType().string(), type->EmitCType().string());
|
||||
sb.Append(prefix).AppendFormat("if (*%s == NULL) {\n", param->GetName().string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("goto %s;\n", gotoLabel.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix).AppendFormat("(void)memcpy_s(*%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
param->GetName().string(), type->EmitCType().string(), cpName.string(), type->EmitCType().string());
|
||||
@@ -329,13 +322,13 @@ void CClientProxyCodeEmitter::EmitErrorHandle(const AutoPtr<ASTMethod>& method,
|
||||
|| paramType->GetTypeKind() == TypeKind::TYPE_STRUCT
|
||||
|| paramType->GetTypeKind() == TypeKind::TYPE_UNION)) {
|
||||
if (!errorLabel) {
|
||||
sb.Append(prefix + TAB).Append("goto finished;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto finished;\n");
|
||||
sb.Append("\n");
|
||||
sb.Append(prefix).Append("errors:\n");
|
||||
errorLabel = true;
|
||||
}
|
||||
|
||||
EmitError(paramType, param->GetName(), sb, prefix + TAB);
|
||||
EmitError(paramType, param->GetName(), sb, prefix + g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
@@ -348,8 +341,8 @@ void CClientProxyCodeEmitter::EmitError(const AutoPtr<ASTType>& type, const Stri
|
||||
case TypeKind::TYPE_STRING:
|
||||
case TypeKind::TYPE_UNION: {
|
||||
sb.Append(prefix).AppendFormat("if (*%s != NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(*%s);\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("*%s = NULL;\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(*%s);\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("*%s = NULL;\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
@@ -362,21 +355,21 @@ void CClientProxyCodeEmitter::EmitError(const AutoPtr<ASTType>& type, const Stri
|
||||
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING
|
||||
|| elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < *%s; i++) {\n", lenName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < *%s; i++) {\n", lenName.string());
|
||||
String elementName = String::Format("(*%s)[i]", name.string());
|
||||
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
} else {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("%sFree(&%s, false);\n",
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("%sFree(&%s, false);\n",
|
||||
elementType->GetName().string(), elementName.string());
|
||||
}
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
}
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(*%s);\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("*%s = NULL;\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(*%s);\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("*%s = NULL;\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
@@ -389,28 +382,28 @@ void CClientProxyCodeEmitter::EmitError(const AutoPtr<ASTType>& type, const Stri
|
||||
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING
|
||||
|| elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < *%s; i++) {\n", lenName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < *%s; i++) {\n", lenName.string());
|
||||
String elementName = String::Format("(*%s)[i]", name.string());
|
||||
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
} else {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("%sFree(&%s, false);\n",
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("%sFree(&%s, false);\n",
|
||||
elementType->GetName().string(), elementName.string());
|
||||
}
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
}
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(*%s);\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("*%s = NULL;\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(*%s);\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("*%s = NULL;\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
case TypeKind::TYPE_STRUCT: {
|
||||
sb.Append(prefix).AppendFormat("if (*%s != NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("%sFree(*%s, true);\n", type->GetName().string(), name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("*%s = NULL;\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("%sFree(*%s, true);\n", type->GetName().string(), name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("*%s = NULL;\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
@@ -435,7 +428,7 @@ void CClientProxyCodeEmitter::EmitProxyConstruction(StringBuilder& sb)
|
||||
|
||||
for (size_t i = 0; i < interface_->GetMethodNumber(); i++) {
|
||||
AutoPtr<ASTMethod> method = interface_->GetMethod(i);
|
||||
sb.Append(TAB).AppendFormat("%s->%s = %sProxy%s;\n",
|
||||
sb.Append(g_tab).AppendFormat("%s->%s = %sProxy%s;\n",
|
||||
objName.string(), method->GetName().string(), infName_.string(), method->GetName().string());
|
||||
}
|
||||
|
||||
@@ -446,36 +439,36 @@ void CClientProxyCodeEmitter::EmitProxyGetMethodImpl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("struct %s *Hdi%sGet()\n", interfaceName_.string(), infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).Append("struct HDIServiceManager *serviceMgr = HDIServiceManagerGet();\n");
|
||||
sb.Append(TAB).Append("if (serviceMgr == NULL) {\n");
|
||||
sb.Append(TAB).Append(TAB).Append("HDF_LOGE(\"%{public}s: HDIServiceManager not found!\", __func__);\n");
|
||||
sb.Append(TAB).Append(TAB).Append("return NULL;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).Append("struct HDIServiceManager *serviceMgr = HDIServiceManagerGet();\n");
|
||||
sb.Append(g_tab).Append("if (serviceMgr == NULL) {\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("HDF_LOGE(\"%{public}s: HDIServiceManager not found!\", __func__);\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return NULL;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
|
||||
sb.Append(TAB).Append("struct HdfRemoteService *remote = ");
|
||||
sb.Append(g_tab).Append("struct HdfRemoteService *remote = ");
|
||||
sb.AppendFormat("serviceMgr->GetService(serviceMgr, \"%sService\");\n", infName_.string());
|
||||
sb.Append(TAB).Append("HDIServiceManagerRelease(serviceMgr);\n");
|
||||
sb.Append(TAB).Append("if (remote == NULL) {\n");
|
||||
sb.Append(TAB).Append(TAB).AppendFormat(
|
||||
sb.Append(g_tab).Append("HDIServiceManagerRelease(serviceMgr);\n");
|
||||
sb.Append(g_tab).Append("if (remote == NULL) {\n");
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: %sService not found!\", __func__);\n", infName_.string());
|
||||
sb.Append(TAB).Append(TAB).Append("return NULL;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return NULL;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
|
||||
sb.Append(TAB).AppendFormat("struct %s *%sClient = (struct %s *)OsalMemAlloc(sizeof(struct %s));\n",
|
||||
sb.Append(g_tab).AppendFormat("struct %s *%sClient = (struct %s *)OsalMemAlloc(sizeof(struct %s));\n",
|
||||
interfaceName_.string(), infName_.string(), interfaceName_.string(), interfaceName_.string());
|
||||
sb.Append(TAB).AppendFormat("if (%sClient == NULL) {\n", infName_.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat(
|
||||
sb.Append(g_tab).AppendFormat("if (%sClient == NULL) {\n", infName_.string());
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: malloc %s instance failed!\", __func__);\n", interfaceName_.string());
|
||||
sb.Append(TAB).Append(TAB).Append("HdfRemoteServiceRecycle(remote);\n");
|
||||
sb.Append(TAB).Append(TAB).Append("return NULL;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("HdfRemoteServiceRecycle(remote);\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return NULL;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
|
||||
sb.Append(TAB).AppendFormat("%sClient->remote = remote;\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat("%sConstruct(%sClient);\n", infName_.string(), infName_.string());
|
||||
sb.Append(TAB).AppendFormat("return %sClient;\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("%sClient->remote = remote;\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("%sConstruct(%sClient);\n", infName_.string(), infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("return %sClient;\n", infName_.string());
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -483,12 +476,12 @@ void CClientProxyCodeEmitter::EmitProxyReleaseMethodImpl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("void Hdi%sRelease(struct %s *instance)\n", infName_.string(), interfaceName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).Append("if (instance == NULL) {\n");
|
||||
sb.Append(TAB).Append(TAB).Append("return;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).Append("if (instance == NULL) {\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
|
||||
sb.Append(TAB).Append("HdfRemoteServiceRecycle(instance->remote);\n");
|
||||
sb.Append(TAB).Append("OsalMemFree(instance);\n");
|
||||
sb.Append(g_tab).Append("HdfRemoteServiceRecycle(instance->remote);\n");
|
||||
sb.Append(g_tab).Append("OsalMemFree(instance);\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -497,15 +490,15 @@ void CClientProxyCodeEmitter::EmitCbProxyObtainMethodImpl(StringBuilder& sb)
|
||||
sb.AppendFormat("struct %s *%sProxyObtain(struct HdfRemoteService *remote)\n",
|
||||
interfaceName_.string(), infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("struct %s *callback = (struct %s*)OsalMemAlloc(sizeof(struct %s));\n",
|
||||
sb.Append(g_tab).AppendFormat("struct %s *callback = (struct %s*)OsalMemAlloc(sizeof(struct %s));\n",
|
||||
interfaceName_.string(), interfaceName_.string(), interfaceName_.string());
|
||||
sb.Append(TAB).Append("if (callback == NULL) {\n");
|
||||
sb.Append(TAB).Append(TAB).Append("HDF_LOGE(\"%{public}s: OsalMemAlloc failed!\", __func__);\n");
|
||||
sb.Append(TAB).Append(TAB).Append("return NULL;\n");
|
||||
sb.Append(TAB).Append("}\n\n");
|
||||
sb.Append(TAB).Append("callback->remote = remote;\n");
|
||||
sb.Append(TAB).AppendFormat("%sProxyConstruct(callback);\n", infName_.string());
|
||||
sb.Append(TAB).Append("return callback;\n");
|
||||
sb.Append(g_tab).Append("if (callback == NULL) {\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("HDF_LOGE(\"%{public}s: OsalMemAlloc failed!\", __func__);\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return NULL;\n");
|
||||
sb.Append(g_tab).Append("}\n\n");
|
||||
sb.Append(g_tab).Append("callback->remote = remote;\n");
|
||||
sb.Append(g_tab).AppendFormat("%sProxyConstruct(callback);\n", infName_.string());
|
||||
sb.Append(g_tab).Append("return callback;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -513,10 +506,10 @@ void CClientProxyCodeEmitter::EmitCbProxyReleaseMethodImpl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("void %sProxyRelease(struct %s *callback)\n", infName_.string(), interfaceName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).Append("if (callback == NULL) {\n");
|
||||
sb.Append(TAB).Append(TAB).Append("return;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(TAB).Append("OsalMemFree(callback);\n");
|
||||
sb.Append(g_tab).Append("if (callback == NULL) {\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append(g_tab).Append("OsalMemFree(callback);\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
} // namespace HDI
|
||||
|
||||
@@ -39,9 +39,6 @@ private:
|
||||
|
||||
void EmitProxyMethodBody(const AutoPtr<ASTMethod>& method, StringBuilder& sb, const String& prefix);
|
||||
|
||||
void EmitWriteProxyMethodParameter(const AutoPtr<ASTParameter>& param, const String& parcelName,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix);
|
||||
|
||||
void EmitReadProxyMethodParameter(const AutoPtr<ASTParameter>& param, const String& parcelName,
|
||||
const String& gotoLabel, StringBuilder& sb, const String& prefix);
|
||||
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
const char* CCodeEmitter::TAB = " ";
|
||||
|
||||
CCodeEmitter::CCodeEmitter(const AutoPtr<AST>& ast, const String& targetDirectory)
|
||||
:LightRefCountBase(), ast_(ast), directory_(targetDirectory)
|
||||
{
|
||||
@@ -70,7 +68,7 @@ void CCodeEmitter::EmitInterfaceMethodCommands(StringBuilder& sb)
|
||||
sb.Append("enum {\n");
|
||||
for (size_t i = 0; i < interface_->GetMethodNumber(); i++) {
|
||||
AutoPtr<ASTMethod> method = interface_->GetMethod(i);
|
||||
sb.Append(TAB).AppendFormat("CMD_%s,\n", ConstantName(method->GetName()).string());
|
||||
sb.Append(g_tab).AppendFormat("CMD_%s,\n", ConstantName(method->GetName()).string());
|
||||
}
|
||||
sb.Append("};\n");
|
||||
}
|
||||
|
||||
@@ -69,8 +69,6 @@ protected:
|
||||
|
||||
String SpecificationParam(StringBuilder& sb, const String& prefix);
|
||||
|
||||
static const char* TAB;
|
||||
|
||||
AutoPtr<AST> ast_;
|
||||
AutoPtr<ASTInterfaceType> interface_;
|
||||
|
||||
|
||||
@@ -200,11 +200,11 @@ void CCustomTypesCodeEmitter::EmitCustomTypeMarshallingImpl(StringBuilder& sb, c
|
||||
String memberName = type->GetMemberName(i);
|
||||
AutoPtr<ASTType> memberType = type->GetMemberType(i);
|
||||
String name = String::Format("%s->%s", objName.string(), memberName.string());
|
||||
memberType->EmitCMarshalling(name, sb, TAB);
|
||||
memberType->EmitCMarshalling(name, sb, g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
|
||||
sb.Append(TAB).Append("return true;\n");
|
||||
sb.Append(g_tab).Append("return true;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -217,9 +217,9 @@ void CCustomTypesCodeEmitter::EmitCustomTypeUnmarshallingImpl(StringBuilder& sb,
|
||||
type->GetName().string(), type->EmitCType().string(), objName.string());
|
||||
sb.Append("{\n");
|
||||
|
||||
sb.Append(TAB).AppendFormat("if (%s == NULL) {\n", objName.string());
|
||||
sb.Append(TAB).Append(TAB).Append("return false;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).AppendFormat("if (%s == NULL) {\n", objName.string());
|
||||
sb.Append(g_tab).Append(g_tab).Append("return false;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
|
||||
for (size_t i = 0; i < type->GetMemberNumber(); i++) {
|
||||
AutoPtr<ASTType> memberType = type->GetMemberType(i);
|
||||
@@ -228,20 +228,20 @@ void CCustomTypesCodeEmitter::EmitCustomTypeUnmarshallingImpl(StringBuilder& sb,
|
||||
|
||||
if (memberType->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
String tmpName = String::Format("%sCp", memberName.string());
|
||||
memberType->EmitCUnMarshalling(tmpName, sb, TAB, freeObjStatements_);
|
||||
sb.Append(TAB).AppendFormat("%s = strdup(%s);\n", name.string(), tmpName.string());
|
||||
sb.Append(TAB).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(TAB).Append(TAB).Append("goto errors;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
memberType->EmitCUnMarshalling(tmpName, sb, g_tab, freeObjStatements_);
|
||||
sb.Append(g_tab).AppendFormat("%s = strdup(%s);\n", name.string(), tmpName.string());
|
||||
sb.Append(g_tab).AppendFormat("if (%s == NULL) {\n", name.string());
|
||||
sb.Append(g_tab).Append(g_tab).Append("goto errors;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
} else if (memberType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
String paramName = String::Format("&%s", name.string());
|
||||
memberType->EmitCUnMarshalling(paramName, sb, TAB, freeObjStatements_);
|
||||
memberType->EmitCUnMarshalling(paramName, sb, g_tab, freeObjStatements_);
|
||||
sb.Append("\n");
|
||||
} else if (memberType->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
String tmpName = String::Format("%sCp", memberName.string());
|
||||
memberType->EmitCUnMarshalling(tmpName, sb, TAB, freeObjStatements_);
|
||||
sb.Append(TAB).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
memberType->EmitCUnMarshalling(tmpName, sb, g_tab, freeObjStatements_);
|
||||
sb.Append(g_tab).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n",
|
||||
name.string(), memberType->EmitCType().string(),
|
||||
tmpName.string(), memberType->EmitCType().string());
|
||||
sb.Append("\n");
|
||||
@@ -249,38 +249,38 @@ void CCustomTypesCodeEmitter::EmitCustomTypeUnmarshallingImpl(StringBuilder& sb,
|
||||
String tmpName = String::Format("%sCp", memberName.string());
|
||||
AutoPtr<ASTArrayType> arrayType = dynamic_cast<ASTArrayType*>(memberType.Get());
|
||||
AutoPtr<ASTType> elementType = arrayType->GetElementType();
|
||||
sb.Append(TAB).AppendFormat("%s* %s = NULL;\n", elementType->EmitCType().string(), tmpName.string());
|
||||
sb.Append(TAB).AppendFormat("uint32_t %sLen = 0;\n", tmpName.string());
|
||||
memberType->EmitCUnMarshalling(tmpName, sb, TAB, freeObjStatements_);
|
||||
sb.Append(TAB).AppendFormat("%s = %s;\n", name.string(), tmpName.string());
|
||||
sb.Append(TAB).AppendFormat("%sLen = %sLen;\n", name.string(), tmpName.string());
|
||||
sb.Append(g_tab).AppendFormat("%s* %s = NULL;\n", elementType->EmitCType().string(), tmpName.string());
|
||||
sb.Append(g_tab).AppendFormat("uint32_t %sLen = 0;\n", tmpName.string());
|
||||
memberType->EmitCUnMarshalling(tmpName, sb, g_tab, freeObjStatements_);
|
||||
sb.Append(g_tab).AppendFormat("%s = %s;\n", name.string(), tmpName.string());
|
||||
sb.Append(g_tab).AppendFormat("%sLen = %sLen;\n", name.string(), tmpName.string());
|
||||
sb.Append("\n");
|
||||
} else if (memberType->GetTypeKind() == TypeKind::TYPE_LIST) {
|
||||
String tmpName = String::Format("%sCp", memberName.string());
|
||||
AutoPtr<ASTListType> listType = dynamic_cast<ASTListType*>(memberType.Get());
|
||||
AutoPtr<ASTType> elementType = listType->GetElementType();
|
||||
sb.Append(TAB).AppendFormat("%s* %s = NULL;\n", elementType->EmitCType().string(), tmpName.string());
|
||||
sb.Append(TAB).AppendFormat("uint32_t %sLen = 0;\n", tmpName.string());
|
||||
memberType->EmitCUnMarshalling(tmpName, sb, TAB, freeObjStatements_);
|
||||
sb.Append(TAB).AppendFormat("%s = %s;\n", name.string(), tmpName.string());
|
||||
sb.Append(TAB).AppendFormat("%sLen = %sLen;\n", name.string(), tmpName.string());
|
||||
sb.Append(g_tab).AppendFormat("%s* %s = NULL;\n", elementType->EmitCType().string(), tmpName.string());
|
||||
sb.Append(g_tab).AppendFormat("uint32_t %sLen = 0;\n", tmpName.string());
|
||||
memberType->EmitCUnMarshalling(tmpName, sb, g_tab, freeObjStatements_);
|
||||
sb.Append(g_tab).AppendFormat("%s = %s;\n", name.string(), tmpName.string());
|
||||
sb.Append(g_tab).AppendFormat("%sLen = %sLen;\n", name.string(), tmpName.string());
|
||||
sb.Append("\n");
|
||||
} else {
|
||||
memberType->EmitCUnMarshalling(name, sb, TAB, freeObjStatements_);
|
||||
memberType->EmitCUnMarshalling(name, sb, g_tab, freeObjStatements_);
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append(TAB).AppendFormat("return true;\n");
|
||||
sb.Append(g_tab).AppendFormat("return true;\n");
|
||||
sb.Append("errors:\n");
|
||||
for (size_t i = 0; i < type->GetMemberNumber(); i++) {
|
||||
AutoPtr<ASTType> memberType = type->GetMemberType(i);
|
||||
String memberName = type->GetMemberName(i);
|
||||
String name = String::Format("%s->%s", objName.string(), memberName.string());
|
||||
EmitError(name, memberType, sb, TAB);
|
||||
EmitError(name, memberType, sb, g_tab);
|
||||
}
|
||||
|
||||
sb.Append(TAB).Append("return false;\n");
|
||||
sb.Append(g_tab).Append("return false;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -291,7 +291,7 @@ void CCustomTypesCodeEmitter::EmitError(const String& name, const AutoPtr<ASTTyp
|
||||
switch (type->GetTypeKind()) {
|
||||
case TypeKind::TYPE_STRING: {
|
||||
sb.Append(prefix).AppendFormat("if (%s != NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
break;
|
||||
}
|
||||
@@ -303,22 +303,22 @@ void CCustomTypesCodeEmitter::EmitError(const String& name, const AutoPtr<ASTTyp
|
||||
sb.Append(prefix).AppendFormat("if (%s > 0 && %s != NULL) {\n", lenName.string(), name.string());
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING
|
||||
|| elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
String elementName = String::Format("(%s)[i]", name.string());
|
||||
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
} else if (elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("%sFree(&(%s), false);\n",
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("%sFree(&(%s), false);\n",
|
||||
elementType->GetName().string(), elementName.string());
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append("\n");
|
||||
break;
|
||||
@@ -331,22 +331,22 @@ void CCustomTypesCodeEmitter::EmitError(const String& name, const AutoPtr<ASTTyp
|
||||
sb.Append(prefix).AppendFormat("if (%s > 0 && %s != NULL) {\n", lenName.string(), name.string());
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING
|
||||
|| elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
String elementName = String::Format("(%s)[i]", name.string());
|
||||
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
} else if (elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("%sFree(&(%s), false);\n",
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("%sFree(&(%s), false);\n",
|
||||
elementType->GetName().string(), elementName.string());
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append("\n");
|
||||
break;
|
||||
@@ -367,21 +367,21 @@ void CCustomTypesCodeEmitter::EmitCustomTypeFreeImpl(StringBuilder& sb, const Au
|
||||
sb.AppendFormat("void %sFree(%s *%s, bool freeSelf)\n",
|
||||
type->GetName().string(), type->EmitCType().string(), objName.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("if (%s == NULL) {\n", objName.string());
|
||||
sb.Append(TAB).Append(TAB).Append("return;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).AppendFormat("if (%s == NULL) {\n", objName.string());
|
||||
sb.Append(g_tab).Append(g_tab).Append("return;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
|
||||
for (size_t i = 0; i < type->GetMemberNumber(); i++) {
|
||||
AutoPtr<ASTType> memberType = type->GetMemberType(i);
|
||||
String memberName = type->GetMemberName(i);
|
||||
String name = String::Format("%s->%s", objName.string(), memberName.string());
|
||||
EmitCustomTypeMemberFree(sb, name, memberType, TAB);
|
||||
EmitCustomTypeMemberFree(sb, name, memberType, g_tab);
|
||||
}
|
||||
|
||||
sb.Append(TAB).Append("if (freeSelf) {\n");
|
||||
sb.Append(TAB).Append(TAB).Append("OsalMemFree(dataBlock);\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).Append("if (freeSelf) {\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("OsalMemFree(dataBlock);\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
|
||||
sb.Append("}\n");
|
||||
}
|
||||
@@ -392,7 +392,7 @@ void CCustomTypesCodeEmitter::EmitCustomTypeMemberFree(StringBuilder& sb, const
|
||||
switch (type->GetTypeKind()) {
|
||||
case TypeKind::TYPE_STRING: {
|
||||
sb.Append(prefix).AppendFormat("if (%s != NULL) {\n", name.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
break;
|
||||
}
|
||||
@@ -402,16 +402,16 @@ void CCustomTypesCodeEmitter::EmitCustomTypeMemberFree(StringBuilder& sb, const
|
||||
|
||||
sb.Append(prefix).AppendFormat("if (%sLen > 0 && %s != NULL) {\n", name.string(), name.string());
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("OsalMemFree(%s[i]);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("OsalMemFree(%s[i]);\n", name.string());
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
} else if (elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("%sFree(%s, false);\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("%sFree(%s, false);\n",
|
||||
elementType->GetName().string(), name.string());
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
}
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
break;
|
||||
}
|
||||
@@ -421,16 +421,16 @@ void CCustomTypesCodeEmitter::EmitCustomTypeMemberFree(StringBuilder& sb, const
|
||||
|
||||
sb.Append(prefix).AppendFormat("if (%sLen > 0 && %s != NULL) {\n", name.string(), name.string());
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("OsalMemFree(%s[i]);\n", name.string());
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("OsalMemFree(%s[i]);\n", name.string());
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
} else if (elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("%sFree(%s, false);\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %sLen; i++) {\n", name.string());
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("%sFree(%s, false);\n",
|
||||
elementType->GetName().string(), name.string());
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
}
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(%s);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -79,8 +79,8 @@ void CServiceDriverCodeEmitter::EmitDriverIncluions(StringBuilder& sb)
|
||||
void CServiceDriverCodeEmitter::EmitDriverServiceDecl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("struct Hdf%sService {\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat("struct IDeviceIoService ioservice;\n");
|
||||
sb.Append(TAB).Append("void *instance;\n");
|
||||
sb.Append(g_tab).AppendFormat("struct IDeviceIoService ioservice;\n");
|
||||
sb.Append(g_tab).Append("void *instance;\n");
|
||||
sb.Append("};\n");
|
||||
}
|
||||
|
||||
@@ -88,13 +88,13 @@ void CServiceDriverCodeEmitter::EmitDriverDispatch(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("static int32_t %sServiceDispatch(struct HdfDeviceIoClient *client, int cmdId,\n",
|
||||
infName_.string());
|
||||
sb.Append(TAB).Append("struct HdfSBuf *data, struct HdfSBuf *reply)\n");
|
||||
sb.Append(g_tab).Append("struct HdfSBuf *data, struct HdfSBuf *reply)\n");
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("struct Hdf%sService *hdf%sService = CONTAINER_OF(\n",
|
||||
sb.Append(g_tab).AppendFormat("struct Hdf%sService *hdf%sService = CONTAINER_OF(\n",
|
||||
infName_.string(), infName_.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat("client->device->service, struct Hdf%sService, ioservice);\n",
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat("client->device->service, struct Hdf%sService, ioservice);\n",
|
||||
infName_.string());
|
||||
sb.Append(TAB).AppendFormat("return %sServiceOnRemoteRequest(hdf%sService->instance, cmdId, data, reply);\n",
|
||||
sb.Append(g_tab).AppendFormat("return %sServiceOnRemoteRequest(hdf%sService->instance, cmdId, data, reply);\n",
|
||||
infName_.string(), infName_.string());
|
||||
sb.Append("}\n");
|
||||
}
|
||||
@@ -103,8 +103,8 @@ void CServiceDriverCodeEmitter::EmitDriverInit(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("int Hdf%sDriverInit(struct HdfDeviceObject *deviceObject)\n", infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("HDF_LOGI(\"Hdf%sDriverInit enter, new hdi impl.\");\n", infName_.string());
|
||||
sb.Append(TAB).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(g_tab).AppendFormat("HDF_LOGI(\"Hdf%sDriverInit enter, new hdi impl.\");\n", infName_.string());
|
||||
sb.Append(g_tab).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -112,29 +112,29 @@ void CServiceDriverCodeEmitter::EmitDriverBind(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("int Hdf%sDriverBind(struct HdfDeviceObject *deviceObject)\n", infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("HDF_LOGI(\"Hdf%sDriverBind enter.\");\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("HDF_LOGI(\"Hdf%sDriverBind enter.\");\n", infName_.string());
|
||||
sb.Append("\n");
|
||||
sb.Append(TAB).AppendFormat("struct Hdf%sService *hdf%sService = (struct Hdf%sService *)OsalMemAlloc(\n",
|
||||
sb.Append(g_tab).AppendFormat("struct Hdf%sService *hdf%sService = (struct Hdf%sService *)OsalMemAlloc(\n",
|
||||
infName_.string(), infName_.string(), infName_.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat("sizeof(struct Hdf%sService));\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat("if (hdf%sService == NULL) {\n", infName_.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat(
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat("sizeof(struct Hdf%sService));\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("if (hdf%sService == NULL) {\n", infName_.string());
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"Hdf%sDriverBind OsalMemAlloc Hdf%sService failed!\");\n", infName_.string(), infName_.string());
|
||||
sb.Append(TAB).Append(TAB).Append("return HDF_FAILURE;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return HDF_FAILURE;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
sb.Append(TAB).AppendFormat("hdf%sService->ioservice.Dispatch = %sServiceDispatch;\n",
|
||||
sb.Append(g_tab).AppendFormat("hdf%sService->ioservice.Dispatch = %sServiceDispatch;\n",
|
||||
infName_.string(), infName_.string());
|
||||
sb.Append(TAB).AppendFormat("hdf%sService->ioservice.Open = NULL;\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat("hdf%sService->ioservice.Release = NULL;\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat("hdf%sService->instance = Hdi%sInstance();\n", infName_.string(), infName_.string());
|
||||
sb.Append(TAB).AppendFormat("if (hdf%sService->instance == NULL) {\n", infName_.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat("OsalMemFree(hdf%sService);\n", infName_.string());
|
||||
sb.Append(TAB).Append(TAB).Append("return HDF_FAILURE;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).AppendFormat("hdf%sService->ioservice.Open = NULL;\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("hdf%sService->ioservice.Release = NULL;\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("hdf%sService->instance = Hdi%sInstance();\n", infName_.string(), infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("if (hdf%sService->instance == NULL) {\n", infName_.string());
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat("OsalMemFree(hdf%sService);\n", infName_.string());
|
||||
sb.Append(g_tab).Append(g_tab).Append("return HDF_FAILURE;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
sb.Append(TAB).AppendFormat("deviceObject->service = &hdf%sService->ioservice;\n", infName_.string());
|
||||
sb.Append(TAB).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(g_tab).AppendFormat("deviceObject->service = &hdf%sService->ioservice;\n", infName_.string());
|
||||
sb.Append(g_tab).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -142,23 +142,23 @@ void CServiceDriverCodeEmitter::EmitDriverRelease(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("void Hdf%sDriverRelease(struct HdfDeviceObject *deviceObject)\n", infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("struct Hdf%sService *hdf%sService = CONTAINER_OF(\n",
|
||||
sb.Append(g_tab).AppendFormat("struct Hdf%sService *hdf%sService = CONTAINER_OF(\n",
|
||||
infName_.string(), infName_.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat("deviceObject->service, struct Hdf%sService, ioservice);\n",
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat("deviceObject->service, struct Hdf%sService, ioservice);\n",
|
||||
infName_.string());
|
||||
sb.Append(TAB).AppendFormat("Hdi%sRelease(hdf%sService->instance);\n", infName_.string(), infName_.string());
|
||||
sb.Append(TAB).AppendFormat("OsalMemFree(hdf%sService);\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("Hdi%sRelease(hdf%sService->instance);\n", infName_.string(), infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("OsalMemFree(hdf%sService);\n", infName_.string());
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
void CServiceDriverCodeEmitter::EmitDriverEntryDefinition(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("struct HdfDriverEntry g_%sDriverEntry = {\n", infName_.ToLowerCase().string());
|
||||
sb.Append(TAB).Append(".moduleVersion = 1,\n");
|
||||
sb.Append(TAB).Append(".moduleName = \"sample\", /* please change the moduleName */\n");
|
||||
sb.Append(TAB).AppendFormat(".Bind = Hdf%sDriverBind,\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat(".Init = Hdf%sDriverInit,\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat(".Release = Hdf%sDriverRelease,\n", infName_.string());
|
||||
sb.Append(g_tab).Append(".moduleVersion = 1,\n");
|
||||
sb.Append(g_tab).Append(".moduleName = \"sample\", /* please change the moduleName */\n");
|
||||
sb.Append(g_tab).AppendFormat(".Bind = Hdf%sDriverBind,\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat(".Init = Hdf%sDriverInit,\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat(".Release = Hdf%sDriverRelease,\n", infName_.string());
|
||||
sb.Append("};\n\n");
|
||||
sb.AppendFormat("HDF_INIT(g_%sDriverEntry);", infName_.ToLowerCase().string());
|
||||
}
|
||||
|
||||
@@ -140,12 +140,12 @@ void CServiceImplCodeEmitter::EmitServiceImplMethodImpl(const AutoPtr<ASTMethod>
|
||||
}
|
||||
|
||||
paramStr.Append(")");
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -157,7 +157,7 @@ void CServiceImplCodeEmitter::EmitServiceImplConstruct(StringBuilder& sb)
|
||||
sb.Append("{\n");
|
||||
for (size_t i = 0; i < interface_->GetMethodNumber(); i++) {
|
||||
AutoPtr<ASTMethod> method = interface_->GetMethod(i);
|
||||
sb.Append(TAB).AppendFormat("%s->%s = %s%s;\n",
|
||||
sb.Append(g_tab).AppendFormat("%s->%s = %s%s;\n",
|
||||
objName.string(), method->GetName().string(), infName_.string(), method->GetName().string());
|
||||
}
|
||||
sb.Append("}\n");
|
||||
@@ -168,15 +168,15 @@ void CServiceImplCodeEmitter::EmitServiceImplInstance(StringBuilder& sb)
|
||||
String objName("instance");
|
||||
sb.AppendFormat("struct %s *Hdi%sInstance()\n", interfaceName_.string(), infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("struct %s *%s = (struct %s*)OsalMemAlloc(sizeof(struct %s));\n",
|
||||
sb.Append(g_tab).AppendFormat("struct %s *%s = (struct %s*)OsalMemAlloc(sizeof(struct %s));\n",
|
||||
interfaceName_.string(), objName.string(), interfaceName_.string(), interfaceName_.string());
|
||||
sb.Append(TAB).AppendFormat("if (%s == NULL) {\n", objName.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat("HDF_LOGE(\"%%{public}s: OsalMemAlloc struct %s %s failed!\", __func__);\n",
|
||||
sb.Append(g_tab).AppendFormat("if (%s == NULL) {\n", objName.string());
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat("HDF_LOGE(\"%%{public}s: OsalMemAlloc struct %s %s failed!\", __func__);\n",
|
||||
interfaceName_.string(), objName.string());
|
||||
sb.Append(TAB).Append(TAB).Append("return NULL;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(TAB).AppendFormat("%sServiceConstruct(%s);\n", infName_.string(), objName.string());
|
||||
sb.Append(TAB).AppendFormat("return %s;\n", objName.string());
|
||||
sb.Append(g_tab).Append(g_tab).Append("return NULL;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append(g_tab).AppendFormat("%sServiceConstruct(%s);\n", infName_.string(), objName.string());
|
||||
sb.Append(g_tab).AppendFormat("return %s;\n", objName.string());
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -184,10 +184,10 @@ void CServiceImplCodeEmitter::EmitServiceImplRelease(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("void Hdi%sRelease(struct %s *instance)\n", infName_.string(), interfaceName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).Append("if (instance == NULL) {\n");
|
||||
sb.Append(TAB).Append(TAB).Append("return;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(TAB).Append("OsalMemFree(instance);\n");
|
||||
sb.Append(g_tab).Append("if (instance == NULL) {\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append(g_tab).Append("OsalMemFree(instance);\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
} // namespace HDI
|
||||
|
||||
@@ -85,7 +85,7 @@ void CServiceInterfaceCodeEmitter::EmitInterfaceDataDecls(StringBuilder& sb)
|
||||
void CServiceInterfaceCodeEmitter::EmitInterfaceDefinition(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("struct %s {\n", interfaceName_.string());
|
||||
EmitInterfaceMethods(sb, TAB);
|
||||
EmitInterfaceMethods(sb, g_tab);
|
||||
sb.Append("};\n\n");
|
||||
EmitInterfaceInstanceMethodDecl(sb);
|
||||
sb.Append("\n");
|
||||
@@ -124,7 +124,7 @@ void CServiceInterfaceCodeEmitter::EmitInterfaceMethod(const AutoPtr<ASTMethod>&
|
||||
}
|
||||
|
||||
paramStr.Append(");");
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
@@ -143,7 +143,7 @@ void CServiceInterfaceCodeEmitter::EmitInterfaceReleaseMethodDecl(StringBuilder&
|
||||
void CServiceInterfaceCodeEmitter::EmitInterfaceRequestMethodDecl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("int32_t %sServiceOnRemoteRequest(void *service, int cmdId,\n", infName_.string());
|
||||
sb.Append(TAB).Append("struct HdfSBuf *data, struct HdfSBuf *reply);\n");
|
||||
sb.Append(g_tab).Append("struct HdfSBuf *data, struct HdfSBuf *reply);\n");
|
||||
}
|
||||
} // namespace HDI
|
||||
} // namespace OHOS
|
||||
@@ -156,29 +156,29 @@ void CServiceStubCodeEmitter::EmitServiceStubMethodImpl(const AutoPtr<ASTMethod>
|
||||
"static int32_t SerStub%s(struct %s *serviceImpl, struct HdfSBuf *data, struct HdfSBuf *reply)\n",
|
||||
method->GetName().string(), interfaceName_.string());
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + g_tab).Append("int32_t ec = HDF_FAILURE;\n");
|
||||
|
||||
sb.Append(prefix + TAB).Append("int32_t ec = HDF_FAILURE;\n");
|
||||
|
||||
String gotoName = "errors";
|
||||
if (method->GetParameterNumber() > 0) {
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
EmitStubLocalVariable(param, sb, prefix + TAB);
|
||||
EmitStubLocalVariable(param, sb, prefix + g_tab);
|
||||
}
|
||||
|
||||
sb.Append("\n");
|
||||
for (int i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_IN) {
|
||||
EmitReadStubMethodParameter(param, "data", sb, prefix + TAB);
|
||||
EmitReadStubMethodParameter(param, "data", sb, prefix + g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (method->GetParameterNumber() == 0) {
|
||||
sb.Append(prefix + TAB).AppendFormat("ec = serviceImpl->%s(serviceImpl);\n", method->GetName().string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("ec = serviceImpl->%s(serviceImpl);\n", method->GetName().string());
|
||||
} else {
|
||||
sb.Append(prefix + TAB).AppendFormat("ec = serviceImpl->%s(serviceImpl, ", method->GetName().string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("ec = serviceImpl->%s(serviceImpl, ", method->GetName().string());
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
EmitCallParameter(sb, param->GetType(), param->GetAttribute(), param->GetName());
|
||||
@@ -189,28 +189,28 @@ void CServiceStubCodeEmitter::EmitServiceStubMethodImpl(const AutoPtr<ASTMethod>
|
||||
sb.AppendFormat(");\n", method->GetName().string());
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).Append("if (ec != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).Append("if (ec != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: call %s function failed!\", __func__);\n", method->GetName().string());
|
||||
sb.Append(prefix + TAB + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("goto %s;\n", gotoName.string());
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
|
||||
for (int i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_OUT) {
|
||||
EmitWriteStubMethodParameter(param, "reply", sb, prefix + TAB);
|
||||
param->EmitCWriteVar("reply", gotoName, sb, prefix + g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append(prefix).Append("errors:\n");
|
||||
sb.Append(prefix).AppendFormat("%s:\n", gotoName.string());
|
||||
for (int i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
EmitError(param, sb, prefix + TAB);
|
||||
EmitError(param, sb, prefix + g_tab);
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).Append("return ec;\n");
|
||||
sb.Append(prefix + g_tab).Append("return ec;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -239,8 +239,8 @@ void CServiceStubCodeEmitter::EmitReadStubMethodParameter(const AutoPtr<ASTParam
|
||||
sb.Append(prefix).AppendFormat("%s = (%s*)OsalMemAlloc(sizeof(%s));\n", param->GetName().string(),
|
||||
type->EmitCType(TypeMode::NO_MODE).string(), type->EmitCType(TypeMode::NO_MODE).string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", param->GetName().string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
type->EmitCStubReadVar(parcelName, param->GetName(), sb, prefix);
|
||||
} else if (type->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
@@ -249,8 +249,8 @@ void CServiceStubCodeEmitter::EmitReadStubMethodParameter(const AutoPtr<ASTParam
|
||||
sb.Append(prefix).AppendFormat("%s = (%s*)OsalMemAlloc(sizeof(%s));\n", param->GetName().string(),
|
||||
type->EmitCType(TypeMode::NO_MODE).string(), type->EmitCType(TypeMode::NO_MODE).string());
|
||||
sb.Append(prefix).AppendFormat("if (%s == NULL) {\n", param->GetName().string());
|
||||
sb.Append(prefix + TAB).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + TAB).Append("goto errors;\n");
|
||||
sb.Append(prefix + g_tab).Append("ec = HDF_ERR_MALLOC_FAIL;\n");
|
||||
sb.Append(prefix + g_tab).Append("goto errors;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append(prefix).AppendFormat("(void)memcpy_s(%s, sizeof(%s), %s, sizeof(%s));\n", param->GetName().string(),
|
||||
type->EmitCType(TypeMode::NO_MODE).string(), cpName.string(), type->EmitCType(TypeMode::NO_MODE).string());
|
||||
@@ -264,13 +264,6 @@ void CServiceStubCodeEmitter::EmitReadStubMethodParameter(const AutoPtr<ASTParam
|
||||
}
|
||||
}
|
||||
|
||||
void CServiceStubCodeEmitter::EmitWriteStubMethodParameter(const AutoPtr<ASTParameter>& param,
|
||||
const String& parcelName, StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
AutoPtr<ASTType> type = param->GetType();
|
||||
type->EmitCStubWriteVar(parcelName, param->GetName(), sb, prefix);
|
||||
}
|
||||
|
||||
void CServiceStubCodeEmitter::EmitCallParameter(StringBuilder& sb, const AutoPtr<ASTType>& type, ParamAttr attribute,
|
||||
const String& name)
|
||||
{
|
||||
@@ -287,7 +280,6 @@ void CServiceStubCodeEmitter::EmitCallParameter(StringBuilder& sb, const AutoPtr
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CServiceStubCodeEmitter::EmitError(const AutoPtr<ASTParameter>& param, StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
AutoPtr<ASTType> type = param->GetType();
|
||||
@@ -295,7 +287,7 @@ void CServiceStubCodeEmitter::EmitError(const AutoPtr<ASTParameter>& param, Stri
|
||||
case TypeKind::TYPE_STRING:
|
||||
case TypeKind::TYPE_UNION: {
|
||||
sb.Append(prefix).AppendFormat("if (%s != NULL) {\n", param->GetName().string());
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(%s);\n", param->GetName().string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(%s);\n", param->GetName().string());
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
break;
|
||||
}
|
||||
@@ -309,19 +301,19 @@ void CServiceStubCodeEmitter::EmitError(const AutoPtr<ASTParameter>& param, Stri
|
||||
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING
|
||||
|| elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
String elementName = String::Format("%s[i]", param->GetName().string());
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
} else if (elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("%sFree(&%s, false);\n",
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("%sFree(&%s, false);\n",
|
||||
elementType->GetName().string(), elementName.string());
|
||||
}
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
}
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(%s);\n", param->GetName().string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(%s);\n", param->GetName().string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append("\n");
|
||||
break;
|
||||
@@ -336,26 +328,26 @@ void CServiceStubCodeEmitter::EmitError(const AutoPtr<ASTParameter>& param, Stri
|
||||
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING
|
||||
|| elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("for (uint32_t i = 0; i < %s; i++) {\n", lenName.string());
|
||||
String elementName = String::Format("%s[i]", param->GetName().string());
|
||||
if (elementType->GetTypeKind() == TypeKind::TYPE_STRING) {
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("if (%s != NULL) {\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("OsalMemFree(%s);\n", elementName.string());
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
} else if (elementType->GetTypeKind() == TypeKind::TYPE_STRUCT) {
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("%sFree(&%s, false);\n",
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("%sFree(&%s, false);\n",
|
||||
elementType->GetName().string(), elementName.string());
|
||||
}
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
}
|
||||
sb.Append(prefix + TAB).AppendFormat("OsalMemFree(%s);\n", param->GetName().string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("OsalMemFree(%s);\n", param->GetName().string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append("\n");
|
||||
break;
|
||||
}
|
||||
case TypeKind::TYPE_STRUCT: {
|
||||
sb.Append(prefix).AppendFormat("if (%s != NULL) {\n", param->GetName().string());
|
||||
sb.Append(prefix + TAB).AppendFormat("%sFree(%s, true);\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("%sFree(%s, true);\n",
|
||||
type->GetName().string(), param->GetName().string());
|
||||
sb.Append(prefix).Append("}\n\n");
|
||||
break;
|
||||
@@ -377,33 +369,33 @@ void CServiceStubCodeEmitter::EmitServiceStubOnRequestMethodImpl(StringBuilder&
|
||||
sb.Append(prefix).AppendFormat("int32_t %sServiceOnRemoteRequest(struct HdfRemoteService *service, int %s,\n",
|
||||
infName_.string(), codeName.string());
|
||||
}
|
||||
sb.Append(prefix + TAB).Append("struct HdfSBuf *data, struct HdfSBuf *reply)\n");
|
||||
sb.Append(prefix + g_tab).Append("struct HdfSBuf *data, struct HdfSBuf *reply)\n");
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("struct %s *serviceImpl = (struct %s*)service;\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("struct %s *serviceImpl = (struct %s*)service;\n",
|
||||
interfaceName_.string(), interfaceName_.string());
|
||||
sb.Append(prefix + TAB).AppendFormat("switch (%s) {\n", codeName.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("switch (%s) {\n", codeName.string());
|
||||
|
||||
for (size_t i = 0; i < interface_->GetMethodNumber(); i++) {
|
||||
AutoPtr<ASTMethod> method = interface_->GetMethod(i);
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("case CMD_%s:\n", ConstantName(method->GetName()).string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("return SerStub%s(serviceImpl, data, reply);\n",
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("case CMD_%s:\n", ConstantName(method->GetName()).string());
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("return SerStub%s(serviceImpl, data, reply);\n",
|
||||
method->GetName().string());
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB + TAB).Append("default: {\n");
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab + g_tab).Append("default: {\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: not support cmd %%{public}d\", __func__, %s);\n", codeName.string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
void CServiceStubCodeEmitter::EmitCbStubDefinitions(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("struct %sStub {\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat("struct %s service;\n", interfaceName_.string());
|
||||
sb.Append(TAB).Append("struct HdfRemoteDispatcher dispatcher;\n");
|
||||
sb.Append(g_tab).AppendFormat("struct %s service;\n", interfaceName_.string());
|
||||
sb.Append(g_tab).Append("struct HdfRemoteDispatcher dispatcher;\n");
|
||||
sb.Append("};\n");
|
||||
}
|
||||
|
||||
@@ -413,25 +405,25 @@ void CServiceStubCodeEmitter::EmitCbStubObtainImpl(StringBuilder& sb)
|
||||
String objName = "stub";
|
||||
sb.AppendFormat("struct %s* %sStubObtain()\n", interfaceName_.string(), infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("struct %s* %s = (struct %s*)OsalMemAlloc(sizeof(struct %s));\n",
|
||||
sb.Append(g_tab).AppendFormat("struct %s* %s = (struct %s*)OsalMemAlloc(sizeof(struct %s));\n",
|
||||
stubTypeName.string(), objName.string(), stubTypeName.string(), stubTypeName.string());
|
||||
sb.Append(TAB).AppendFormat("if (stub == NULL) {\n", objName.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat(
|
||||
sb.Append(g_tab).AppendFormat("if (stub == NULL) {\n", objName.string());
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: OsalMemAlloc %s obj failed!\", __func__);\n", stubTypeName.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat("return NULL;\n");
|
||||
sb.Append(TAB).Append("}\n\n");
|
||||
sb.Append(TAB).AppendFormat("%s->dispatcher.Dispatch = %sServiceOnRemoteRequest;\n",
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat("return NULL;\n");
|
||||
sb.Append(g_tab).Append("}\n\n");
|
||||
sb.Append(g_tab).AppendFormat("%s->dispatcher.Dispatch = %sServiceOnRemoteRequest;\n",
|
||||
objName.string(), infName_.string());
|
||||
sb.Append(TAB).AppendFormat(
|
||||
sb.Append(g_tab).AppendFormat(
|
||||
"%s->service.remote = HdfRemoteServiceObtain((struct HdfObject*)%s, &(%s->dispatcher));\n",
|
||||
objName.string(), objName.string(), objName.string());
|
||||
sb.Append(TAB).AppendFormat("if (%s->service.remote == NULL) {\n", objName.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat(
|
||||
sb.Append(g_tab).AppendFormat("if (%s->service.remote == NULL) {\n", objName.string());
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: %s->service.remote is null\", __func__);\n", objName.string());
|
||||
sb.Append(TAB).Append(TAB).Append("return NULL;\n");
|
||||
sb.Append(TAB).Append("}\n\n");
|
||||
sb.Append(TAB).AppendFormat("%sServiceConstruct(&%s->service);\n", infName_.string(), objName.string());
|
||||
sb.Append(TAB).AppendFormat("return &%s->service;\n", objName.string());
|
||||
sb.Append(g_tab).Append(g_tab).Append("return NULL;\n");
|
||||
sb.Append(g_tab).Append("}\n\n");
|
||||
sb.Append(g_tab).AppendFormat("%sServiceConstruct(&%s->service);\n", infName_.string(), objName.string());
|
||||
sb.Append(g_tab).AppendFormat("return &%s->service;\n", objName.string());
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -439,10 +431,10 @@ void CServiceStubCodeEmitter::EmitCbStubReleaseImpl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("void %sStubRelease(struct %s *stub)\n", infName_.string(), interfaceName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).Append("if (stub == NULL) {\n");
|
||||
sb.Append(TAB).Append(TAB).Append("return;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(TAB).Append("OsalMemFree(stub);\n");
|
||||
sb.Append(g_tab).Append("if (stub == NULL) {\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append(g_tab).Append("OsalMemFree(stub);\n");
|
||||
sb.Append("}");
|
||||
}
|
||||
} // namespace HDI
|
||||
|
||||
@@ -41,15 +41,6 @@ private:
|
||||
void EmitReadStubMethodParameter(const AutoPtr<ASTParameter>& param, const String& parcelName, StringBuilder& sb,
|
||||
const String& prefix);
|
||||
|
||||
void EmitReadStubVariable(const String& parcelName, const String& name, const AutoPtr<ASTType>& type,
|
||||
StringBuilder& sb, const String& prefix);
|
||||
|
||||
void EmitWriteStubMethodParameter(const AutoPtr<ASTParameter>& param, const String& parcelName, StringBuilder& sb,
|
||||
const String& prefix);
|
||||
|
||||
void EmitWriteStubVariable(const String& parcelName, const String& name, const AutoPtr<ASTType>& type,
|
||||
StringBuilder& sb, const String& prefix);
|
||||
|
||||
void EmitCallParameter(StringBuilder& sb, const AutoPtr<ASTType>& type, ParamAttr attribute, const String& name);
|
||||
|
||||
void EmitError(const AutoPtr<ASTParameter>& param, StringBuilder& sb, const String& prefix);
|
||||
|
||||
@@ -10,9 +10,6 @@
|
||||
#define OHOS_HDI_CODEGENERATOR_H
|
||||
|
||||
#include "ast/ast.h"
|
||||
#include "util/autoptr.h"
|
||||
#include "util/light_refcount_base.h"
|
||||
#include "util/string.h"
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
|
||||
@@ -150,21 +150,21 @@ void CppClientInterfaceCodeEmitter::EmitInterfaceDecl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("class %s : public IRemoteBroker {\n", interface_->GetName().string());
|
||||
sb.Append("public:\n");
|
||||
EmitInterfaceBody(sb, TAB);
|
||||
EmitInterfaceBody(sb, g_tab);
|
||||
sb.Append("};\n\n");
|
||||
}
|
||||
|
||||
void CppClientInterfaceCodeEmitter::EmitInterfaceBody(StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
sb.Append(TAB).AppendFormat("DECLARE_INTERFACE_DESCRIPTOR(u\"%s\");\n", interfaceFullName_.string());
|
||||
sb.Append(g_tab).AppendFormat("DECLARE_INTERFACE_DESCRIPTOR(u\"%s\");\n", interfaceFullName_.string());
|
||||
sb.Append("\n");
|
||||
EmitInterfaceDestruction(sb, TAB);
|
||||
EmitInterfaceDestruction(sb, g_tab);
|
||||
sb.Append("\n");
|
||||
if (!isCallbackInterface()) {
|
||||
EmitInterfaceGetMethodDecl(sb, TAB);
|
||||
EmitInterfaceGetMethodDecl(sb, g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
EmitInterfaceMethodsDecl(sb, TAB);
|
||||
EmitInterfaceMethodsDecl(sb, g_tab);
|
||||
}
|
||||
|
||||
void CppClientInterfaceCodeEmitter::EmitInterfaceDestruction(StringBuilder& sb, const String& prefix)
|
||||
@@ -205,7 +205,7 @@ void CppClientInterfaceCodeEmitter::EmitInterfaceMethodDecl(const AutoPtr<ASTMet
|
||||
}
|
||||
|
||||
paramStr.Append(") = 0;");
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,20 +75,20 @@ void CppClientProxyCodeEmitter::EmitProxyDecl(StringBuilder& sb, const String& p
|
||||
sb.AppendFormat("class %s : public IRemoteProxy<%s> {\n",
|
||||
proxyName_.string(), interfaceName_.string());
|
||||
sb.Append("public:\n");
|
||||
EmitProxyConstructor(sb, TAB);
|
||||
EmitProxyConstructor(sb, g_tab);
|
||||
sb.Append("\n");
|
||||
EmitProxyMethodDecls(sb, TAB);
|
||||
EmitProxyMethodDecls(sb, g_tab);
|
||||
sb.Append("\n");
|
||||
sb.Append("private:\n");
|
||||
EmitProxyConstants(sb, TAB);
|
||||
EmitProxyConstants(sb, g_tab);
|
||||
sb.Append("};\n");
|
||||
}
|
||||
|
||||
void CppClientProxyCodeEmitter::EmitProxyConstructor(StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("explicit %s(\n", proxyName_.string());
|
||||
sb.Append(prefix + TAB).Append("const sptr<IRemoteObject>& remote)\n");
|
||||
sb.Append(prefix + TAB).AppendFormat(": IRemoteProxy<%s>(remote)\n", interfaceName_.string());
|
||||
sb.Append(prefix + g_tab).Append("const sptr<IRemoteObject>& remote)\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat(": IRemoteProxy<%s>(remote)\n", interfaceName_.string());
|
||||
sb.Append(prefix).Append("{}\n");
|
||||
sb.Append("\n");
|
||||
sb.Append(prefix).AppendFormat("virtual ~%s() {}\n", proxyName_.string());
|
||||
@@ -124,7 +124,7 @@ void CppClientProxyCodeEmitter::EmitProxyMethodDecl(const AutoPtr<ASTMethod>& me
|
||||
|
||||
paramStr.Append(") override;");
|
||||
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
@@ -204,23 +204,23 @@ void CppClientProxyCodeEmitter::EmitGetMethodImpl(StringBuilder& sb, const Strin
|
||||
sb.Append(prefix).AppendFormat("sptr<%s> %s::Get()\n",
|
||||
interface_->GetName().string(), interface_->GetName().string());
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).Append("do {\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("using namespace OHOS::HDI::ServiceManager::V1_0;\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("auto servMgr = IServiceManager::Get();\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("if (servMgr == nullptr) {\n");
|
||||
sb.Append(prefix + TAB + TAB + TAB).Append("HDF_LOGE(\"%{public}s:get IServiceManager failed!\", __func__);\n");
|
||||
sb.Append(prefix + TAB + TAB + TAB).Append("break;\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("sptr<IRemoteObject> remote = servMgr->GetService(\"%sService\");\n",
|
||||
sb.Append(prefix + g_tab).Append("do {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("using namespace OHOS::HDI::ServiceManager::V1_0;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("auto servMgr = IServiceManager::Get();\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("if (servMgr == nullptr) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).Append("HDF_LOGE(\"%{public}s:get IServiceManager failed!\", __func__);\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).Append("break;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("sptr<IRemoteObject> remote = servMgr->GetService(\"%sService\");\n",
|
||||
infName_.string());
|
||||
sb.Append(prefix + TAB + TAB).Append("if (remote != nullptr) {\n");
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("return iface_cast<%s>(remote);\n",
|
||||
sb.Append(prefix + g_tab + g_tab).Append("if (remote != nullptr) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("return iface_cast<%s>(remote);\n",
|
||||
interface_->GetName().string());
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + TAB).Append("} while(false);\n");
|
||||
sb.Append(prefix + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("} while(false);\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s: get %sService failed!\", __func__);\n", infName_.string());
|
||||
sb.Append(prefix + TAB).Append("return nullptr;\n");
|
||||
sb.Append(prefix + g_tab).Append("return nullptr;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ void CppClientProxyCodeEmitter::EmitProxyMethodImpl(const AutoPtr<ASTMethod>& me
|
||||
|
||||
paramStr.Append(")");
|
||||
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
EmitProxyMethodBody(method, sb, prefix);
|
||||
@@ -264,41 +264,41 @@ void CppClientProxyCodeEmitter::EmitProxyMethodBody(const AutoPtr<ASTMethod>& me
|
||||
const String& prefix)
|
||||
{
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).Append("MessageParcel data;\n");
|
||||
sb.Append(prefix + TAB).Append("MessageParcel reply;\n");
|
||||
sb.Append(prefix + TAB).Append("MessageOption option(MessageOption::TF_SYNC);\n");
|
||||
sb.Append(prefix + g_tab).Append("MessageParcel data;\n");
|
||||
sb.Append(prefix + g_tab).Append("MessageParcel reply;\n");
|
||||
sb.Append(prefix + g_tab).Append("MessageOption option(MessageOption::TF_SYNC);\n");
|
||||
sb.Append("\n");
|
||||
|
||||
if (method->GetParameterNumber() > 0) {
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_IN) {
|
||||
EmitWriteMethodParameter(param, "data", sb, prefix + TAB);
|
||||
EmitWriteMethodParameter(param, "data", sb, prefix + g_tab);
|
||||
}
|
||||
}
|
||||
sb.Append("\n");
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).AppendFormat("int32_t ec = Remote()->SendRequest(CMD_%s, data, reply, option);\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("int32_t ec = Remote()->SendRequest(CMD_%s, data, reply, option);\n",
|
||||
ConstantName(method->GetName()).string());
|
||||
sb.Append(prefix + TAB).Append("if (ec != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).Append("if (ec != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s failed, error code is %%d\", ec);\n", method->GetName().string());
|
||||
sb.Append(prefix + TAB + TAB).Append("return ec;\n");
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("return ec;\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
|
||||
if (!method->IsOneWay()) {
|
||||
sb.Append("\n");
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_OUT) {
|
||||
EmitReadMethodParameter(param, "reply", false, sb, prefix + TAB);
|
||||
EmitReadMethodParameter(param, "reply", false, sb, prefix + g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
} // namespace HDI
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
const char* CppCodeEmitter::TAB = " ";
|
||||
|
||||
CppCodeEmitter::CppCodeEmitter(const AutoPtr<AST>& ast, const String& targetDirectory)
|
||||
: LightRefCountBase(), ast_(ast), directory_(targetDirectory)
|
||||
{
|
||||
@@ -69,7 +67,7 @@ void CppCodeEmitter::EmitInterfaceMethodCommands(StringBuilder& sb, const String
|
||||
sb.Append(prefix).Append("enum {\n");
|
||||
for (size_t i = 0; i < interface_->GetMethodNumber(); i++) {
|
||||
AutoPtr<ASTMethod> method = interface_->GetMethod(i);
|
||||
sb.Append(TAB).AppendFormat("CMD_%s,\n", ConstantName(method->GetName()).string());
|
||||
sb.Append(g_tab).AppendFormat("CMD_%s,\n", ConstantName(method->GetName()).string());
|
||||
}
|
||||
sb.Append(prefix).Append("};\n");
|
||||
}
|
||||
|
||||
@@ -83,8 +83,6 @@ protected:
|
||||
|
||||
String SpecificationParam(StringBuilder& sb, const String& prefix);
|
||||
|
||||
static const char* TAB;
|
||||
|
||||
AutoPtr<AST> ast_;
|
||||
AutoPtr<ASTInterfaceType> interface_;
|
||||
|
||||
|
||||
@@ -236,13 +236,13 @@ void CppCustomTypesCodeEmitter::EmitCustomTypeMarshallingImpl(StringBuilder& sb,
|
||||
String memberName = type->GetMemberName(i);
|
||||
|
||||
String name = String::Format("%s.%s", objName.string(), memberName.string());
|
||||
memberType->EmitCppMarshalling("data", name, sb, TAB);
|
||||
memberType->EmitCppMarshalling("data", name, sb, g_tab);
|
||||
if (i + 1 < type->GetMemberNumber()) {
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append(TAB).Append("return true;\n");
|
||||
sb.Append(g_tab).Append("return true;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -269,15 +269,15 @@ void CppCustomTypesCodeEmitter::EmitCustomTypeUnmarshallingImpl(StringBuilder& s
|
||||
|
||||
if (memberType->GetTypeKind() == TypeKind::TYPE_UNION) {
|
||||
String cpName = String::Format("%sCp", memberName.string());
|
||||
memberType->EmitCppUnMarshalling("data", cpName, sb, TAB, false);
|
||||
sb.Append(TAB).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n", name.string(),
|
||||
memberType->EmitCppUnMarshalling("data", cpName, sb, g_tab, false);
|
||||
sb.Append(g_tab).AppendFormat("(void)memcpy_s(&%s, sizeof(%s), %s, sizeof(%s));\n", name.string(),
|
||||
memberType->EmitCppType().string(), cpName.string(), memberType->EmitCppType().string());
|
||||
} else {
|
||||
memberType->EmitCppUnMarshalling("data", name, sb, TAB, false);
|
||||
memberType->EmitCppUnMarshalling("data", name, sb, g_tab, false);
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append(TAB).AppendFormat("return true;\n", objName.string());
|
||||
sb.Append(g_tab).AppendFormat("return true;\n", objName.string());
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -87,8 +87,8 @@ void CppServiceDriverCodeEmitter::EmitDriverUsings(StringBuilder& sb)
|
||||
void CppServiceDriverCodeEmitter::EmitDriverServiceDecl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("struct Hdf%s%s {\n", infName_.string(), "Service");
|
||||
sb.Append(TAB).Append("struct IDeviceIoService ioservice;\n");
|
||||
sb.Append(TAB).Append("void *instance;\n");
|
||||
sb.Append(g_tab).Append("struct IDeviceIoService ioservice;\n");
|
||||
sb.Append(g_tab).Append("void *instance;\n");
|
||||
sb.Append("};\n");
|
||||
}
|
||||
|
||||
@@ -96,13 +96,13 @@ void CppServiceDriverCodeEmitter::EmitDriverDispatch(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("static int32_t %sServiceDispatch(struct HdfDeviceIoClient *client, int cmdId,\n",
|
||||
infName_.string());
|
||||
sb.Append(TAB).Append("struct HdfSBuf *data, struct HdfSBuf *reply)\n");
|
||||
sb.Append(g_tab).Append("struct HdfSBuf *data, struct HdfSBuf *reply)\n");
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("struct Hdf%sService *hdf%sService = CONTAINER_OF(\n",
|
||||
sb.Append(g_tab).AppendFormat("struct Hdf%sService *hdf%sService = CONTAINER_OF(\n",
|
||||
infName_.string(), infName_.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat("client->device->service, struct Hdf%sService, ioservice);\n",
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat("client->device->service, struct Hdf%sService, ioservice);\n",
|
||||
infName_.string());
|
||||
sb.Append(TAB).AppendFormat("return %sServiceOnRemoteRequest(hdf%sService->instance, cmdId, data, reply);\n",
|
||||
sb.Append(g_tab).AppendFormat("return %sServiceOnRemoteRequest(hdf%sService->instance, cmdId, data, reply);\n",
|
||||
infName_.string(), infName_.string());
|
||||
sb.Append("}\n");
|
||||
}
|
||||
@@ -111,8 +111,8 @@ void CppServiceDriverCodeEmitter::EmitDriverInit(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("int Hdf%sDriverInit(struct HdfDeviceObject *deviceObject)\n", infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("HDF_LOGI(\"Hdf%sDriverInit enter, new hdi impl.\");\n", infName_.string());
|
||||
sb.Append(TAB).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(g_tab).AppendFormat("HDF_LOGI(\"Hdf%sDriverInit enter, new hdi impl.\");\n", infName_.string());
|
||||
sb.Append(g_tab).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -120,25 +120,25 @@ void CppServiceDriverCodeEmitter::EmitDriverBind(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("int Hdf%sDriverBind(struct HdfDeviceObject *deviceObject)\n", infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("HDF_LOGI(\"Hdf%sDriverBind enter.\");\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("HDF_LOGI(\"Hdf%sDriverBind enter.\");\n", infName_.string());
|
||||
sb.Append("\n");
|
||||
sb.Append(TAB).AppendFormat("struct Hdf%sService *hdf%sService = (struct Hdf%sService *)OsalMemAlloc(\n",
|
||||
sb.Append(g_tab).AppendFormat("struct Hdf%sService *hdf%sService = (struct Hdf%sService *)OsalMemAlloc(\n",
|
||||
infName_.string(), infName_.string(), infName_.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat("sizeof(struct Hdf%sService));\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat("if (hdf%sService == nullptr) {\n", infName_.string());
|
||||
sb.Append(TAB).Append(TAB).AppendFormat("HDF_LOGE(\"Hdf%sDriverBind OsalMemAlloc Hdf%sService failed!\");\n",
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat("sizeof(struct Hdf%sService));\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("if (hdf%sService == nullptr) {\n", infName_.string());
|
||||
sb.Append(g_tab).Append(g_tab).AppendFormat("HDF_LOGE(\"Hdf%sDriverBind OsalMemAlloc Hdf%sService failed!\");\n",
|
||||
infName_.string(), infName_.string());
|
||||
sb.Append(TAB).Append(TAB).Append("return HDF_FAILURE;\n");
|
||||
sb.Append(TAB).Append("}\n");
|
||||
sb.Append(g_tab).Append(g_tab).Append("return HDF_FAILURE;\n");
|
||||
sb.Append(g_tab).Append("}\n");
|
||||
sb.Append("\n");
|
||||
sb.Append(TAB).AppendFormat("hdf%sService->ioservice.Dispatch = %sServiceDispatch;\n",
|
||||
sb.Append(g_tab).AppendFormat("hdf%sService->ioservice.Dispatch = %sServiceDispatch;\n",
|
||||
infName_.string(), infName_.string());
|
||||
sb.Append(TAB).AppendFormat("hdf%sService->ioservice.Open = NULL;\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat("hdf%sService->ioservice.Release = NULL;\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat("hdf%sService->instance = %sStubInstance();\n", infName_.string(), infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("hdf%sService->ioservice.Open = NULL;\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("hdf%sService->ioservice.Release = NULL;\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat("hdf%sService->instance = %sStubInstance();\n", infName_.string(), infName_.string());
|
||||
sb.Append("\n");
|
||||
sb.Append(TAB).AppendFormat("deviceObject->service = &hdf%sService->ioservice;\n", infName_.string());
|
||||
sb.Append(TAB).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(g_tab).AppendFormat("deviceObject->service = &hdf%sService->ioservice;\n", infName_.string());
|
||||
sb.Append(g_tab).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -146,18 +146,18 @@ void CppServiceDriverCodeEmitter::EmitDriverRelease(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("void Hdf%sDriverRelease(struct HdfDeviceObject *deviceObject)", infName_.string());
|
||||
sb.Append("{\n");
|
||||
sb.Append(TAB).AppendFormat("HDF_LOGI(\"Hdf%sDriverRelease enter.\");\n", interfaceName_.string());
|
||||
sb.Append(g_tab).AppendFormat("HDF_LOGI(\"Hdf%sDriverRelease enter.\");\n", interfaceName_.string());
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
void CppServiceDriverCodeEmitter::EmitDriverEntryDefinition(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("struct HdfDriverEntry g_%sDriverEntry = {\n", infName_.ToLowerCase().string());
|
||||
sb.Append(TAB).Append(".moduleVersion = 1,\n");
|
||||
sb.Append(TAB).AppendFormat(".moduleName = \"%s\",\n", infName_.ToLowerCase().string());
|
||||
sb.Append(TAB).AppendFormat(".Bind = Hdf%sDriverBind,\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat(".Init = Hdf%sDriverInit,\n", infName_.string());
|
||||
sb.Append(TAB).AppendFormat(".Release = Hdf%sDriverRelease,\n", infName_.string());
|
||||
sb.Append(g_tab).Append(".moduleVersion = 1,\n");
|
||||
sb.Append(g_tab).AppendFormat(".moduleName = \"%s\",\n", infName_.ToLowerCase().string());
|
||||
sb.Append(g_tab).AppendFormat(".Bind = Hdf%sDriverBind,\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat(".Init = Hdf%sDriverInit,\n", infName_.string());
|
||||
sb.Append(g_tab).AppendFormat(".Release = Hdf%sDriverRelease,\n", infName_.string());
|
||||
sb.Append("};\n");
|
||||
sb.Append("\n");
|
||||
sb.Append("#ifndef __cplusplus\n");
|
||||
|
||||
@@ -79,7 +79,7 @@ void CppServiceImplCodeEmitter::EmitServiceImplDecl(StringBuilder& sb)
|
||||
sb.AppendFormat("class %sService : public %s {\n", infName_.string(), stubName_.string());
|
||||
}
|
||||
sb.Append("public:\n");
|
||||
EmitServiceImplBody(sb, TAB);
|
||||
EmitServiceImplBody(sb, g_tab);
|
||||
sb.Append("};\n");
|
||||
|
||||
sb.Append("\n");
|
||||
@@ -88,9 +88,9 @@ void CppServiceImplCodeEmitter::EmitServiceImplDecl(StringBuilder& sb)
|
||||
|
||||
void CppServiceImplCodeEmitter::EmitServiceImplBody(StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
EmitServiceImplDestruction(sb, TAB);
|
||||
EmitServiceImplDestruction(sb, g_tab);
|
||||
sb.Append("\n");
|
||||
EmitServiceImplMethodDecls(sb, TAB);
|
||||
EmitServiceImplMethodDecls(sb, g_tab);
|
||||
}
|
||||
|
||||
void CppServiceImplCodeEmitter::EmitServiceImplDestruction(StringBuilder& sb, const String& prefix)
|
||||
@@ -127,7 +127,7 @@ void CppServiceImplCodeEmitter::EmitServiceImplMethodDecl(const AutoPtr<ASTMetho
|
||||
|
||||
paramStr.Append(") override;");
|
||||
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
@@ -194,12 +194,12 @@ void CppServiceImplCodeEmitter::EmitServiceImplMethodImpl(const AutoPtr<ASTMetho
|
||||
|
||||
paramStr.AppendFormat(")");
|
||||
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
} // namespace HDI
|
||||
|
||||
@@ -153,15 +153,15 @@ void CppServiceInterfaceCodeEmitter::EmitInterfaceDecl(StringBuilder& sb)
|
||||
|
||||
sb.AppendFormat("class %s {\n", interface_->GetName().string());
|
||||
sb.Append("public:\n");
|
||||
EmitInterfaceBody(sb, TAB);
|
||||
EmitInterfaceBody(sb, g_tab);
|
||||
sb.Append("};\n");
|
||||
}
|
||||
|
||||
void CppServiceInterfaceCodeEmitter::EmitInterfaceBody(StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
EmitInterfaceDestruction(sb, TAB);
|
||||
EmitInterfaceDestruction(sb, g_tab);
|
||||
sb.Append("\n");
|
||||
EmitInterfaceMethods(sb, TAB);
|
||||
EmitInterfaceMethods(sb, g_tab);
|
||||
}
|
||||
|
||||
void CppServiceInterfaceCodeEmitter::EmitInterfaceDestruction(StringBuilder& sb, const String& prefix)
|
||||
@@ -199,7 +199,7 @@ void CppServiceInterfaceCodeEmitter::EmitInterfaceMethod(const AutoPtr<ASTMethod
|
||||
|
||||
paramStr.Append(") = 0;");
|
||||
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ void CppServiceStubCodeEmitter::EmitStubDecl(StringBuilder& sb)
|
||||
sb.Append("\n");
|
||||
sb.AppendFormat("class %s {\n", stubName_.string());
|
||||
sb.Append("public:\n");
|
||||
EmitStubBody(sb, TAB);
|
||||
EmitStubBody(sb, g_tab);
|
||||
sb.Append("};\n");
|
||||
|
||||
sb.Append("\n");
|
||||
@@ -102,7 +102,7 @@ void CppServiceStubCodeEmitter::EmitCbStubDecl(StringBuilder& sb)
|
||||
EmitStubUsingNamespace(sb);
|
||||
sb.Append("\n");
|
||||
sb.AppendFormat("class %s : public IRemoteStub<%s> {\n", stubName_.string(), interfaceName_.string());
|
||||
EmitCbStubBody(sb, TAB);
|
||||
EmitCbStubBody(sb, g_tab);
|
||||
sb.Append("};\n");
|
||||
sb.Append("\n");
|
||||
EmitEndNamespace(sb);
|
||||
@@ -143,7 +143,7 @@ void CppServiceStubCodeEmitter::EmitStubDestruction(StringBuilder& sb, const Str
|
||||
void CppServiceStubCodeEmitter::EmitCbStubOnRequestDecl(StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
sb.Append(prefix).Append("int32_t OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply,\n");
|
||||
sb.Append(prefix + TAB).Append("MessageOption &option) override;\n");
|
||||
sb.Append(prefix + g_tab).Append("MessageOption &option) override;\n");
|
||||
}
|
||||
|
||||
void CppServiceStubCodeEmitter::EmitStubMethodDecls(StringBuilder& sb, const String& prefix)
|
||||
@@ -174,7 +174,7 @@ void CppServiceStubCodeEmitter::EmitStubOnRequestMethodDecl(StringBuilder& sb, c
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("int32_t %sOnRemoteRequest(int cmdId, MessageParcel& data, MessageParcel& reply,\n",
|
||||
stubName_.string());
|
||||
sb.Append(prefix).Append(TAB).Append("MessageOption& option);\n");
|
||||
sb.Append(prefix).Append(g_tab).Append("MessageOption& option);\n");
|
||||
}
|
||||
|
||||
void CppServiceStubCodeEmitter::EmitStubMembers(StringBuilder& sb, const String& prefix)
|
||||
@@ -282,25 +282,25 @@ void CppServiceStubCodeEmitter::EmitStubMethodImpl(const AutoPtr<ASTMethod>& met
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_IN) {
|
||||
EmitReadMethodParameter(param, "data", true, sb, prefix + TAB);
|
||||
EmitReadMethodParameter(param, "data", true, sb, prefix + g_tab);
|
||||
sb.Append("\n");
|
||||
} else {
|
||||
EmitLocalVariable(param, sb, prefix + TAB);
|
||||
EmitLocalVariable(param, sb, prefix + g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
if (method->GetParameterNumber() == 0) {
|
||||
if (!isCallbackInterface()) {
|
||||
sb.Append(prefix + TAB).AppendFormat("int32_t ec = service.%s();\n", method->GetName().string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("int32_t ec = service.%s();\n", method->GetName().string());
|
||||
} else {
|
||||
sb.Append(prefix + TAB).AppendFormat("int32_t ec = %s();\n", method->GetName().string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("int32_t ec = %s();\n", method->GetName().string());
|
||||
}
|
||||
} else {
|
||||
if (!isCallbackInterface()) {
|
||||
sb.Append(prefix + TAB).AppendFormat("int32_t ec = service.%s(", method->GetName().string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("int32_t ec = service.%s(", method->GetName().string());
|
||||
} else {
|
||||
sb.Append(prefix + TAB).AppendFormat("int32_t ec = %s(", method->GetName().string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("int32_t ec = %s(", method->GetName().string());
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
@@ -313,23 +313,23 @@ void CppServiceStubCodeEmitter::EmitStubMethodImpl(const AutoPtr<ASTMethod>& met
|
||||
sb.Append(");\n");
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).Append("if (ec != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat(
|
||||
sb.Append(prefix + g_tab).Append("if (ec != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat(
|
||||
"HDF_LOGE(\"%%{public}s failed, error code is %%d\", ec);\n", method->GetName().string());
|
||||
sb.Append(prefix + TAB + TAB).Append("return ec;\n");
|
||||
sb.Append(prefix + TAB).Append("}\n\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("return ec;\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n\n");
|
||||
|
||||
if (!method->IsOneWay()) {
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_OUT) {
|
||||
EmitWriteMethodParameter(param, "reply", sb, prefix + TAB);
|
||||
EmitWriteMethodParameter(param, "reply", sb, prefix + g_tab);
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append(prefix + g_tab).Append("return HDF_SUCCESS;\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -337,47 +337,47 @@ void CppServiceStubCodeEmitter::EmitStubOnRequestMethodImpl(StringBuilder& sb, c
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("int32_t %s::%sOnRemoteRequest(int cmdId,\n",
|
||||
stubName_.string(), stubName_.string());
|
||||
sb.Append(prefix + TAB).Append("MessageParcel& data, MessageParcel& reply, MessageOption& option)\n");
|
||||
sb.Append(prefix + g_tab).Append("MessageParcel& data, MessageParcel& reply, MessageOption& option)\n");
|
||||
sb.Append(prefix).Append("{\n");
|
||||
|
||||
sb.Append(prefix + TAB).Append("switch (cmdId) {\n");
|
||||
sb.Append(prefix + g_tab).Append("switch (cmdId) {\n");
|
||||
for (size_t i = 0; i < interface_->GetMethodNumber(); i++) {
|
||||
AutoPtr<ASTMethod> method = interface_->GetMethod(i);
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("case CMD_%s:\n", ConstantName(method->GetName()).string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("return %sStub%s(data, reply, option);\n",
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("case CMD_%s:\n", ConstantName(method->GetName()).string());
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("return %sStub%s(data, reply, option);\n",
|
||||
infName_.string(), method->GetName().string());
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB + TAB).Append("default: {\n");
|
||||
sb.Append(prefix + TAB + TAB + TAB).Append(
|
||||
sb.Append(prefix + g_tab + g_tab).Append("default: {\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).Append(
|
||||
"HDF_LOGE(\"%{public}s: not support cmd %{public}d\", __func__, cmdId);\n");
|
||||
sb.Append(prefix + TAB + TAB + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
void CppServiceStubCodeEmitter::EmitCbStubOnRequestMethodImpl(StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("int32_t %s::OnRemoteRequest(uint32_t code,\n", stubName_.string());
|
||||
sb.Append(prefix + TAB).Append("MessageParcel& data, MessageParcel& reply, MessageOption& option)\n");
|
||||
sb.Append(prefix + g_tab).Append("MessageParcel& data, MessageParcel& reply, MessageOption& option)\n");
|
||||
sb.Append(prefix).Append("{\n");
|
||||
|
||||
sb.Append(prefix + TAB).Append("switch (code) {\n");
|
||||
sb.Append(prefix + g_tab).Append("switch (code) {\n");
|
||||
|
||||
for (size_t i = 0; i < interface_->GetMethodNumber(); i++) {
|
||||
AutoPtr<ASTMethod> method = interface_->GetMethod(i);
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("case CMD_%s:\n", ConstantName(method->GetName()).string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).AppendFormat("return %sStub%s(data, reply, option);\n",
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("case CMD_%s:\n", ConstantName(method->GetName()).string());
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).AppendFormat("return %sStub%s(data, reply, option);\n",
|
||||
infName_.string(), method->GetName().string());
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB + TAB).Append("default: {\n");
|
||||
sb.Append(prefix + TAB + TAB + TAB).Append(
|
||||
sb.Append(prefix + g_tab + g_tab).Append("default: {\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).Append(
|
||||
"HDF_LOGE(\"%{public}s: not support cmd %{public}d\", __func__, code);\n");
|
||||
sb.Append(prefix + TAB + TAB + TAB).Append("return IPCObjectStub::OnRemoteRequest(code, data, reply, option);\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).Append("return IPCObjectStub::OnRemoteRequest(code, data, reply, option);\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append("}\n");
|
||||
}
|
||||
|
||||
@@ -394,9 +394,9 @@ void CppServiceStubCodeEmitter::EmitStubInstanceMethodImpl(StringBuilder& sb, co
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("void *%sInstance()\n", stubName_.string());
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("using namespace %s;\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("using namespace %s;\n",
|
||||
EmitStubServiceUsings(interface_->GetNamespace()->ToString()).string());
|
||||
sb.Append(prefix + TAB).AppendFormat("return reinterpret_cast<void *>(new %s());\n", stubName_.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("return reinterpret_cast<void *>(new %s());\n", stubName_.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -404,9 +404,9 @@ void CppServiceStubCodeEmitter::EmitStubReleaseMethodImpl(StringBuilder& sb, con
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("void %sRelease(void *obj)\n", stubName_.string());
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("using namespace %s;\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("using namespace %s;\n",
|
||||
EmitStubServiceUsings(interface_->GetNamespace()->ToString()).string());
|
||||
sb.Append(prefix + TAB).AppendFormat("delete reinterpret_cast<%s *>(obj);\n", stubName_.string());
|
||||
sb.Append(prefix + g_tab).AppendFormat("delete reinterpret_cast<%s *>(obj);\n", stubName_.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -417,22 +417,22 @@ void CppServiceStubCodeEmitter::EmitServiceOnRemoteRequest(StringBuilder& sb, co
|
||||
"int32_t %sServiceOnRemoteRequest(void *stub, int cmdId, struct HdfSBuf *data, struct HdfSBuf *reply)\n",
|
||||
infName_.string());
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("using namespace %s;\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("using namespace %s;\n",
|
||||
EmitStubServiceUsings(interface_->GetNamespace()->ToString()).string());
|
||||
sb.Append(prefix + TAB).AppendFormat("%s *%s = reinterpret_cast<%s *>(stub);\n",
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s *%s = reinterpret_cast<%s *>(stub);\n",
|
||||
stubName_.string(), stubObjName.string(), stubName_.string());
|
||||
sb.Append(prefix + TAB).Append("OHOS::MessageParcel *dataParcel = nullptr;\n");
|
||||
sb.Append(prefix + TAB).Append("OHOS::MessageParcel *replyParcel = nullptr;\n");
|
||||
sb.Append(prefix + g_tab).Append("OHOS::MessageParcel *dataParcel = nullptr;\n");
|
||||
sb.Append(prefix + g_tab).Append("OHOS::MessageParcel *replyParcel = nullptr;\n");
|
||||
sb.Append("\n");
|
||||
|
||||
sb.Append(prefix + TAB).Append("(void)SbufToParcel(reply, &replyParcel);\n");
|
||||
sb.Append(prefix + TAB).Append("if (SbufToParcel(data, &dataParcel) != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + TAB + TAB).Append(
|
||||
sb.Append(prefix + g_tab).Append("(void)SbufToParcel(reply, &replyParcel);\n");
|
||||
sb.Append(prefix + g_tab).Append("if (SbufToParcel(data, &dataParcel) != HDF_SUCCESS) {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append(
|
||||
"HDF_LOGE(\"%{public}s:invalid data sbuf object to dispatch\", __func__);\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + TAB).Append("}\n\n");
|
||||
sb.Append(prefix + TAB).Append("OHOS::MessageOption option;\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("return %s->%sOnRemoteRequest(cmdId, *dataParcel, *replyParcel, option);\n",
|
||||
sb.Append(prefix + g_tab + g_tab).Append("return HDF_ERR_INVALID_PARAM;\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n\n");
|
||||
sb.Append(prefix + g_tab).Append("OHOS::MessageOption option;\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("return %s->%sOnRemoteRequest(cmdId, *dataParcel, *replyParcel, option);\n",
|
||||
stubObjName.string(), stubName_.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ void JavaClientInterfaceCodeEmitter::EmitInterfaceSelfDefinedTypeImports(StringB
|
||||
void JavaClientInterfaceCodeEmitter::EmitInterfaceDefinition(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("public interface %s extends IRemoteBroker {\n", interface_->GetName().string());
|
||||
EmitInterfaceMethods(sb, TAB);
|
||||
EmitInterfaceMethods(sb, g_tab);
|
||||
sb.Append("}");
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ void JavaClientInterfaceCodeEmitter::EmitInterfaceMethod(const AutoPtr<ASTMethod
|
||||
}
|
||||
|
||||
paramStr.Append(") throws RemoteException;");
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,17 +98,17 @@ void JavaClientProxyCodeEmitter::EmitProxyDBinderImports(StringBuilder& sb)
|
||||
void JavaClientProxyCodeEmitter::EmitProxyImpl(StringBuilder& sb)
|
||||
{
|
||||
sb.AppendFormat("public class %s implements %s {\n", proxyName_.string(), interfaceName_.string());
|
||||
EmitProxyConstants(sb, TAB);
|
||||
EmitProxyConstants(sb, g_tab);
|
||||
sb.Append("\n");
|
||||
sb.Append(TAB).AppendFormat(
|
||||
sb.Append(g_tab).AppendFormat(
|
||||
"private static final HiLogLabel TAG = new HiLogLabel(HiLog.LOG_CORE, 0xD001510, \"%s\");\n",
|
||||
interfaceFullName_.string());
|
||||
sb.Append(TAB).Append("private final IRemoteObject remote;\n");
|
||||
sb.Append(TAB).Append("private static final int ERR_OK = 0;\n");
|
||||
sb.Append(g_tab).Append("private final IRemoteObject remote;\n");
|
||||
sb.Append(g_tab).Append("private static final int ERR_OK = 0;\n");
|
||||
sb.Append("\n");
|
||||
EmitProxyConstructor(sb, TAB);
|
||||
EmitProxyConstructor(sb, g_tab);
|
||||
sb.Append("\n");
|
||||
EmitProxyMethodImpls(sb, TAB);
|
||||
EmitProxyMethodImpls(sb, g_tab);
|
||||
sb.Append("};");
|
||||
}
|
||||
|
||||
@@ -122,12 +122,12 @@ void JavaClientProxyCodeEmitter::EmitProxyConstants(StringBuilder& sb, const Str
|
||||
void JavaClientProxyCodeEmitter::EmitProxyConstructor(StringBuilder& sb, const String& prefix)
|
||||
{
|
||||
sb.Append(prefix).AppendFormat("public %s(IRemoteObject remote) {\n", proxyName_.string());
|
||||
sb.Append(prefix + TAB).Append("this.remote = remote;\n");
|
||||
sb.Append(prefix + g_tab).Append("this.remote = remote;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
sb.Append("\n");
|
||||
sb.Append(prefix).AppendFormat("@Override\n");
|
||||
sb.Append(prefix).Append("public IRemoteObject asObject() {\n");
|
||||
sb.Append(prefix + TAB).Append("return remote;\n");
|
||||
sb.Append(prefix + g_tab).Append("return remote;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ void JavaClientProxyCodeEmitter::EmitProxyMethodImpl(const AutoPtr<ASTMethod>& m
|
||||
}
|
||||
paramStr.Append(") throws RemoteException");
|
||||
|
||||
sb.Append(SpecificationParam(paramStr, prefix + TAB));
|
||||
sb.Append(SpecificationParam(paramStr, prefix + g_tab));
|
||||
sb.Append("\n");
|
||||
}
|
||||
EmitProxyMethodBody(method, sb, prefix);
|
||||
@@ -177,9 +177,9 @@ void JavaClientProxyCodeEmitter::EmitProxyMethodBody(const AutoPtr<ASTMethod>& m
|
||||
const String& prefix)
|
||||
{
|
||||
sb.Append(prefix).Append("{\n");
|
||||
sb.Append(prefix + TAB).Append("MessageParcel data = MessageParcel.obtain();\n");
|
||||
sb.Append(prefix + TAB).Append("MessageParcel reply = MessageParcel.obtain();\n");
|
||||
sb.Append(prefix + TAB).AppendFormat("MessageOption option = new MessageOption(MessageOption.TF_SYNC);\n");
|
||||
sb.Append(prefix + g_tab).Append("MessageParcel data = MessageParcel.obtain();\n");
|
||||
sb.Append(prefix + g_tab).Append("MessageParcel reply = MessageParcel.obtain();\n");
|
||||
sb.Append(prefix + g_tab).AppendFormat("MessageOption option = new MessageOption(MessageOption.TF_SYNC);\n");
|
||||
sb.Append("\n");
|
||||
sb.Append(prefix).AppendFormat(" data.writeInterfaceToken(DESCRIPTOR);\n");
|
||||
|
||||
@@ -187,12 +187,12 @@ void JavaClientProxyCodeEmitter::EmitProxyMethodBody(const AutoPtr<ASTMethod>& m
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_IN) {
|
||||
EmitWriteMethodParameter(param, "data", sb, prefix + TAB);
|
||||
EmitWriteMethodParameter(param, "data", sb, prefix + g_tab);
|
||||
needBlankLine = true;
|
||||
} else {
|
||||
AutoPtr<ASTType> type = param->GetType();
|
||||
if (type->GetTypeKind() == TypeKind::TYPE_ARRAY) {
|
||||
EmitWriteOutArrayVariable("data", param->GetName(), type, sb, prefix + TAB);
|
||||
EmitWriteOutArrayVariable("data", param->GetName(), type, sb, prefix + g_tab);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -200,24 +200,24 @@ void JavaClientProxyCodeEmitter::EmitProxyMethodBody(const AutoPtr<ASTMethod>& m
|
||||
sb.Append("\n");
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).Append("try {\n");
|
||||
sb.Append(prefix + TAB + TAB).AppendFormat("if (remote.sendRequest(COMMAND_%s, data, reply, option)) {\n",
|
||||
sb.Append(prefix + g_tab).Append("try {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).AppendFormat("if (remote.sendRequest(COMMAND_%s, data, reply, option)) {\n",
|
||||
ConstantName(method->GetName()).string());
|
||||
sb.Append(prefix + TAB + TAB + TAB).Append("return 1;\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("}\n");
|
||||
sb.Append(prefix + TAB).Append(" reply.readException();\n");
|
||||
sb.Append(prefix + g_tab + g_tab + g_tab).Append("return 1;\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append(" reply.readException();\n");
|
||||
for (size_t i = 0; i < method->GetParameterNumber(); i++) {
|
||||
AutoPtr<ASTParameter> param = method->GetParameter(i);
|
||||
if (param->GetAttribute() == ParamAttr::PARAM_OUT) {
|
||||
EmitReadMethodParameter(param, "reply", sb, prefix + TAB + TAB);
|
||||
EmitReadMethodParameter(param, "reply", sb, prefix + g_tab + g_tab);
|
||||
}
|
||||
}
|
||||
|
||||
sb.Append(prefix + TAB).Append("} finally {\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("data.reclaim();\n");
|
||||
sb.Append(prefix + TAB + TAB).Append("reply.reclaim();\n");
|
||||
sb.Append(prefix + TAB).Append("}\n");
|
||||
sb.Append(prefix + TAB).Append("return 0;\n");
|
||||
sb.Append(prefix + g_tab).Append("} finally {\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("data.reclaim();\n");
|
||||
sb.Append(prefix + g_tab + g_tab).Append("reply.reclaim();\n");
|
||||
sb.Append(prefix + g_tab).Append("}\n");
|
||||
sb.Append(prefix + g_tab).Append("return 0;\n");
|
||||
sb.Append(prefix).Append("}\n");
|
||||
}
|
||||
|
||||
@@ -282,7 +282,7 @@ void JavaClientProxyCodeEmitter::EmitWriteVariable(const String& parcelName, con
|
||||
sb.Append(prefix).AppendFormat("%s.writeInt(%s.size());\n", parcelName.string(), name.string());
|
||||
sb.Append(prefix).AppendFormat("for (%s element : %s) {\n",
|
||||
elementType->EmitJavaType(TypeMode::NO_MODE).string(), name.string());
|
||||
EmitWriteVariable(parcelName, "element", elementType, sb, prefix + TAB);
|
||||
EmitWriteVariable(parcelName, "element", elementType, sb, prefix + g_tab);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
@@ -295,8 +295,8 @@ void JavaClientProxyCodeEmitter::EmitWriteVariable(const String& parcelName, con
|
||||
sb.Append(prefix).AppendFormat("for (Map.Entry<%s, %s> entry : %s.entrySet()) {\n",
|
||||
keyType->EmitJavaType(TypeMode::NO_MODE, true).string(),
|
||||
valueType->EmitJavaType(TypeMode::NO_MODE, true).string(), name.string());
|
||||
EmitWriteVariable(parcelName, "entry.getKey()", keyType, sb, prefix + TAB);
|
||||
EmitWriteVariable(parcelName, "entry.getValue()", valueType, sb, prefix + TAB);
|
||||
EmitWriteVariable(parcelName, "entry.getKey()", keyType, sb, prefix + g_tab);
|
||||
EmitWriteVariable(parcelName, "entry.getValue()", valueType, sb, prefix + g_tab);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
@@ -307,7 +307,7 @@ void JavaClientProxyCodeEmitter::EmitWriteVariable(const String& parcelName, con
|
||||
sb.Append(prefix).AppendFormat("if (%s == null) {\n", name.string());
|
||||
sb.Append(prefix).AppendFormat(" %s.writeInt(-1);\n", parcelName.string());
|
||||
sb.Append(prefix).Append("} else { \n");
|
||||
EmitWriteArrayVariable(parcelName, name, elementType, sb, prefix + TAB);
|
||||
EmitWriteArrayVariable(parcelName, name, elementType, sb, prefix + g_tab);
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
@@ -427,8 +427,8 @@ void JavaClientProxyCodeEmitter::EmitReadVariable(const String& parcelName, cons
|
||||
sb.Append(prefix).AppendFormat("for (int i = 0; i < %sSize; ++i) {\n", name.string());
|
||||
AutoPtr<ASTListType> listType = dynamic_cast<ASTListType*>(type.Get());
|
||||
AutoPtr<ASTType> elementType = listType->GetElementType();
|
||||
EmitReadVariable(parcelName, "value", elementType, ParamAttr::PARAM_IN, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.add(value);\n", name.string());
|
||||
EmitReadVariable(parcelName, "value", elementType, ParamAttr::PARAM_IN, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.add(value);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
@@ -443,9 +443,9 @@ void JavaClientProxyCodeEmitter::EmitReadVariable(const String& parcelName, cons
|
||||
AutoPtr<ASTType> keyType = mapType->GetKeyType();
|
||||
AutoPtr<ASTType> valueType = mapType->GetValueType();
|
||||
|
||||
EmitReadVariable(parcelName, "key", keyType, ParamAttr::PARAM_IN, sb, prefix + TAB);
|
||||
EmitReadVariable(parcelName, "value", valueType, ParamAttr::PARAM_IN, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.put(key, value);\n", name.string());
|
||||
EmitReadVariable(parcelName, "key", keyType, ParamAttr::PARAM_IN, sb, prefix + g_tab);
|
||||
EmitReadVariable(parcelName, "value", valueType, ParamAttr::PARAM_IN, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.put(key, value);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
@@ -507,8 +507,8 @@ void JavaClientProxyCodeEmitter::EmitReadArrayVariable(const String& parcelName,
|
||||
elementType->EmitJavaType(TypeMode::NO_MODE).string(), name.string(),
|
||||
elementType->EmitJavaType(TypeMode::NO_MODE).string());
|
||||
sb.Append(prefix).AppendFormat("for (int i = 0; i < size; ++i) {\n");
|
||||
EmitReadVariable(parcelName, "value", elementType, ParamAttr::PARAM_IN, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s[i] = value;\n", name.string());
|
||||
EmitReadVariable(parcelName, "value", elementType, ParamAttr::PARAM_IN, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s[i] = value;\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
default:
|
||||
@@ -609,8 +609,8 @@ void JavaClientProxyCodeEmitter::EmitReadOutVariable(const String& parcelName, c
|
||||
AutoPtr<ASTListType> listType = dynamic_cast<ASTListType*>(type.Get());
|
||||
AutoPtr<ASTType> elementType = listType->GetElementType();
|
||||
|
||||
EmitReadVariable(parcelName, "value", elementType, ParamAttr::PARAM_OUT, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.add(value);\n", name.string());
|
||||
EmitReadVariable(parcelName, "value", elementType, ParamAttr::PARAM_OUT, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.add(value);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
@@ -622,9 +622,9 @@ void JavaClientProxyCodeEmitter::EmitReadOutVariable(const String& parcelName, c
|
||||
AutoPtr<ASTType> keyType = mapType->GetKeyType();
|
||||
AutoPtr<ASTType> valueType = mapType->GetValueType();
|
||||
|
||||
EmitReadVariable(parcelName, "key", keyType, ParamAttr::PARAM_OUT, sb, prefix + TAB);
|
||||
EmitReadVariable(parcelName, "value", valueType, ParamAttr::PARAM_OUT, sb, prefix + TAB);
|
||||
sb.Append(prefix + TAB).AppendFormat("%s.put(key, value);\n", name.string());
|
||||
EmitReadVariable(parcelName, "key", keyType, ParamAttr::PARAM_OUT, sb, prefix + g_tab);
|
||||
EmitReadVariable(parcelName, "value", valueType, ParamAttr::PARAM_OUT, sb, prefix + g_tab);
|
||||
sb.Append(prefix + g_tab).AppendFormat("%s.put(key, value);\n", name.string());
|
||||
sb.Append(prefix).Append("}\n");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -13,8 +13,6 @@
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
const char* JavaCodeEmitter::TAB = " ";
|
||||
|
||||
JavaCodeEmitter::JavaCodeEmitter(const AutoPtr<AST>& ast, const String& targetDirectory)
|
||||
:LightRefCountBase(), ast_(ast), directory_(targetDirectory)
|
||||
{
|
||||
|
||||
@@ -52,8 +52,6 @@ protected:
|
||||
|
||||
String SpecificationParam(StringBuilder& paramSb, const String& prefix);
|
||||
|
||||
static const char* TAB;
|
||||
|
||||
AutoPtr<AST> ast_;
|
||||
AutoPtr<ASTInterfaceType> interface_;
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "parser/file_detail.h"
|
||||
#include "util/string_builder.h"
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
|
||||
@@ -10,8 +10,7 @@
|
||||
#define OHOS_HDI_FILE_DETAIL_H
|
||||
|
||||
#include <unordered_set>
|
||||
#include "util/string_builder.h"
|
||||
#include "util/logger.h"
|
||||
#include "util/string.h"
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
#include "parser/module_parser.h"
|
||||
#include <queue>
|
||||
#include "parser/parser.h"
|
||||
#include "util/logger.h"
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
|
||||
@@ -10,9 +10,10 @@
|
||||
#define OHOS_HDI_MODULE_PARSER_H
|
||||
|
||||
#include <set>
|
||||
#include <memory>
|
||||
#include "ast/ast_module.h"
|
||||
#include "parser/file_detail.h"
|
||||
#include "parser/parser.h"
|
||||
#include "util/logger.h"
|
||||
#include "util/options.h"
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "c_test/array_test/v1_0/client/iarray_test.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -23,7 +23,7 @@ using namespace testing::ext;
|
||||
|
||||
static struct IArrayTest *g_testClient = nullptr;
|
||||
|
||||
class ArrayTest : public testing::Test {
|
||||
class CArrayTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase();
|
||||
@@ -31,15 +31,15 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void ArrayTest::SetUpTestCase()
|
||||
void CArrayTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = HdiArrayTestGet();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("ArrayTest: get g_testClient failed.\n");
|
||||
printf("CArrayTest: get g_testClient failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
void ArrayTest::TearDownTestCase()
|
||||
void CArrayTest::TearDownTestCase()
|
||||
{
|
||||
if (g_testClient != nullptr) {
|
||||
HdiArrayTestRelease(g_testClient);
|
||||
@@ -47,12 +47,12 @@ void ArrayTest::TearDownTestCase()
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_001, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_002, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_002, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
bool *inParam = (bool*)OsalMemAlloc(sizeof(bool) * inParamLen);
|
||||
@@ -89,7 +89,7 @@ HWTEST_F(ArrayTest, ArratTest_002, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_003, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_003, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
int8_t *inParam = (int8_t*)OsalMemAlloc(sizeof(int8_t) * inParamLen);
|
||||
@@ -127,7 +127,7 @@ HWTEST_F(ArrayTest, ArratTest_003, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_004, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_004, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
int16_t *inParam = (int16_t*)OsalMemAlloc(sizeof(int16_t) * inParamLen);
|
||||
@@ -164,7 +164,7 @@ HWTEST_F(ArrayTest, ArratTest_004, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_005, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_005, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
int32_t *inParam = (int32_t*)OsalMemAlloc(sizeof(int32_t) * inParamLen);
|
||||
@@ -201,7 +201,7 @@ HWTEST_F(ArrayTest, ArratTest_005, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_006, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_006, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
int64_t *inParam = (int64_t*)OsalMemAlloc(sizeof(int64_t) * inParamLen);
|
||||
@@ -238,7 +238,7 @@ HWTEST_F(ArrayTest, ArratTest_006, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_007, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_007, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
uint8_t *inParam = (uint8_t*)OsalMemAlloc(sizeof(uint8_t) * inParamLen);
|
||||
@@ -275,7 +275,7 @@ HWTEST_F(ArrayTest, ArratTest_007, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_008, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_008, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
uint16_t *inParam = (uint16_t*)OsalMemAlloc(sizeof(uint16_t) * inParamLen);
|
||||
@@ -312,7 +312,7 @@ HWTEST_F(ArrayTest, ArratTest_008, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_009, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_009, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
uint32_t *inParam = (uint32_t*)OsalMemAlloc(sizeof(uint32_t) * inParamLen);
|
||||
@@ -349,7 +349,7 @@ HWTEST_F(ArrayTest, ArratTest_009, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_010, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_010, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
uint64_t *inParam = (uint64_t*)OsalMemAlloc(sizeof(uint64_t) * inParamLen);
|
||||
@@ -386,7 +386,7 @@ HWTEST_F(ArrayTest, ArratTest_010, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_011, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_011, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
float *inParam = (float*)OsalMemAlloc(sizeof(float) * inParamLen);
|
||||
@@ -424,7 +424,7 @@ HWTEST_F(ArrayTest, ArratTest_011, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_012, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_012, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
double *inParam = (double*)OsalMemAlloc(sizeof(double) * inParamLen);
|
||||
@@ -462,7 +462,7 @@ HWTEST_F(ArrayTest, ArratTest_012, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_013, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_013, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 2;
|
||||
char **inParam = (char**)OsalMemAlloc(sizeof(char*) * inParamLen);
|
||||
@@ -505,7 +505,7 @@ HWTEST_F(ArrayTest, ArratTest_013, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_014, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_014, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 2;
|
||||
|
||||
@@ -545,7 +545,7 @@ HWTEST_F(ArrayTest, ArratTest_014, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_015, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_015, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
enum ESample *inParam = (enum ESample*)OsalMemAlloc(sizeof(enum ESample) * inParamLen);
|
||||
@@ -582,7 +582,7 @@ HWTEST_F(ArrayTest, ArratTest_015, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_016, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_016, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 2;
|
||||
struct SSample *inParam = (struct SSample *)OsalMemAlloc(sizeof(struct SSample) * inParamLen);
|
||||
@@ -632,7 +632,7 @@ HWTEST_F(ArrayTest, ArratTest_016, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArratTest_017, TestSize.Level0)
|
||||
HWTEST_F(CArrayTest, CArrayTest_017, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 2;
|
||||
union USample *inParam = (union USample *)OsalMemAlloc(sizeof(union USample) * inParamLen);
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
#include <thread>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include "c_test/cb_test/v1_0/client/icb_test.h"
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "c_test/cb_test/v1_0/callback_stub.h"
|
||||
#include "c_test/cb_test/v1_0/client/icb_test.h"
|
||||
|
||||
using namespace OHOS;
|
||||
using namespace testing::ext;
|
||||
@@ -22,7 +22,7 @@ using namespace testing::ext;
|
||||
static struct ICbTest *g_testClient = nullptr;
|
||||
static struct ICallback *g_callback = nullptr;
|
||||
|
||||
class CbTest : public testing::Test {
|
||||
class CCbTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase();
|
||||
@@ -30,20 +30,20 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void CbTest::SetUpTestCase()
|
||||
void CCbTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = HdiCbTestGet();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("CbTest: get g_testClient failed.\n");
|
||||
printf("CCbTest: get g_testClient failed.\n");
|
||||
}
|
||||
|
||||
g_callback = CallbackStubObtain();
|
||||
if (g_callback == nullptr) {
|
||||
printf("CbTest: get g_callback failed.\n");
|
||||
printf("CCbTest: get g_callback failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
void CbTest::TearDownTestCase()
|
||||
void CCbTest::TearDownTestCase()
|
||||
{
|
||||
if (g_testClient != nullptr) {
|
||||
HdiCbTestRelease(g_testClient);
|
||||
@@ -56,13 +56,13 @@ void CbTest::TearDownTestCase()
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(CbTest, CbTest_001, TestSize.Level0)
|
||||
HWTEST_F(CCbTest, CCbTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
ASSERT_NE(nullptr, g_callback);
|
||||
}
|
||||
|
||||
HWTEST_F(CbTest, CbTest_002, TestSize.Level0)
|
||||
HWTEST_F(CCbTest, CCbTest_002, TestSize.Level1)
|
||||
{
|
||||
int32_t ec = g_testClient->CallbackTest(g_testClient, g_callback);
|
||||
ASSERT_EQ(ec, HDF_SUCCESS);
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "test/c_test/data_test/v1_0/client/idata_test.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -24,7 +24,7 @@ using namespace testing::ext;
|
||||
static struct IDataTest *g_testClient = nullptr;
|
||||
static struct ICallback *g_callback = nullptr;
|
||||
|
||||
class DataTest : public testing::Test {
|
||||
class CDataTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase();
|
||||
@@ -32,15 +32,15 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void DataTest::SetUpTestCase()
|
||||
void CDataTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = HdiDataTestGet();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("DataTest: get g_testClient failed.\n");
|
||||
printf("CDataTest: get g_testClient failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
void DataTest::TearDownTestCase()
|
||||
void CDataTest::TearDownTestCase()
|
||||
{
|
||||
if (g_testClient != nullptr) {
|
||||
HdiDataTestRelease(g_testClient);
|
||||
@@ -48,12 +48,12 @@ void DataTest::TearDownTestCase()
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_001, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_002, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_002, TestSize.Level1)
|
||||
{
|
||||
bool inParam = true;
|
||||
bool outParam = false;
|
||||
@@ -65,8 +65,7 @@ HWTEST_F(DataTest, DataTest_002, TestSize.Level0)
|
||||
EXPECT_TRUE(outParam);
|
||||
}
|
||||
|
||||
|
||||
HWTEST_F(DataTest, DataTest_003, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_003, TestSize.Level1)
|
||||
{
|
||||
int8_t inParam = 10;
|
||||
int8_t outParam = 0;
|
||||
@@ -77,7 +76,7 @@ HWTEST_F(DataTest, DataTest_003, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_004, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_004, TestSize.Level1)
|
||||
{
|
||||
int16_t inParam = 10;
|
||||
int16_t outParam = 0;
|
||||
@@ -88,7 +87,7 @@ HWTEST_F(DataTest, DataTest_004, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_005, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_005, TestSize.Level1)
|
||||
{
|
||||
int32_t inParam = 10;
|
||||
int32_t outParam = 0;
|
||||
@@ -99,7 +98,7 @@ HWTEST_F(DataTest, DataTest_005, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_006, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_006, TestSize.Level1)
|
||||
{
|
||||
int64_t inParam = 10;
|
||||
int64_t outParam = 0;
|
||||
@@ -110,7 +109,7 @@ HWTEST_F(DataTest, DataTest_006, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_007, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_007, TestSize.Level1)
|
||||
{
|
||||
uint8_t inParam = 10;
|
||||
uint8_t outParam = 0;
|
||||
@@ -121,7 +120,7 @@ HWTEST_F(DataTest, DataTest_007, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_008, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_008, TestSize.Level1)
|
||||
{
|
||||
uint16_t inParam = 10;
|
||||
uint16_t outParam = 0;
|
||||
@@ -132,7 +131,7 @@ HWTEST_F(DataTest, DataTest_008, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_009, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_009, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParam = 10;
|
||||
uint32_t outParam = 0;
|
||||
@@ -143,7 +142,7 @@ HWTEST_F(DataTest, DataTest_009, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_010, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_010, TestSize.Level1)
|
||||
{
|
||||
uint64_t inParam = 10;
|
||||
uint64_t outParam = 0;
|
||||
@@ -154,7 +153,7 @@ HWTEST_F(DataTest, DataTest_010, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_011, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_011, TestSize.Level1)
|
||||
{
|
||||
float inParam = 10.5;
|
||||
float outParam = 0;
|
||||
@@ -165,7 +164,7 @@ HWTEST_F(DataTest, DataTest_011, TestSize.Level0)
|
||||
EXPECT_FLOAT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_012, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_012, TestSize.Level1)
|
||||
{
|
||||
double inParam = 10.5;
|
||||
double outParam = 0;
|
||||
@@ -176,7 +175,7 @@ HWTEST_F(DataTest, DataTest_012, TestSize.Level0)
|
||||
EXPECT_DOUBLE_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_013, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_013, TestSize.Level1)
|
||||
{
|
||||
const char* inParam = "hello";
|
||||
char* outParam = nullptr;
|
||||
@@ -187,7 +186,7 @@ HWTEST_F(DataTest, DataTest_013, TestSize.Level0)
|
||||
EXPECT_STREQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_014, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_014, TestSize.Level1)
|
||||
{
|
||||
int fd = open("/c_data_test_014.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
printf("file open, fd = %d\n", fd);
|
||||
@@ -219,7 +218,7 @@ finished:
|
||||
close(fd);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_015, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_015, TestSize.Level1)
|
||||
{
|
||||
enum ESample inParam = MEM_ONE;
|
||||
enum ESample outParam = MEM_TWO;
|
||||
@@ -230,7 +229,7 @@ HWTEST_F(DataTest, DataTest_015, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_016, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_016, TestSize.Level1)
|
||||
{
|
||||
struct SSample inParam;
|
||||
inParam.m1 = true;
|
||||
@@ -260,7 +259,7 @@ HWTEST_F(DataTest, DataTest_016, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_017, TestSize.Level0)
|
||||
HWTEST_F(CDataTest, CDataTest_017, TestSize.Level1)
|
||||
{
|
||||
union USample inParam;
|
||||
inParam.m2 = 10;
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "c_test/list_test/v1_0/client/ilist_test.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -23,7 +23,7 @@ using namespace testing::ext;
|
||||
|
||||
static struct IListTest *g_testClient = nullptr;
|
||||
|
||||
class ListTest : public testing::Test {
|
||||
class CListTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase();
|
||||
@@ -31,15 +31,15 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void ListTest::SetUpTestCase()
|
||||
void CListTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = HdiListTestGet();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("ListTest: get g_testClient failed.\n");
|
||||
printf("CListTest: get g_testClient failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
void ListTest::TearDownTestCase()
|
||||
void CListTest::TearDownTestCase()
|
||||
{
|
||||
if (g_testClient != nullptr) {
|
||||
HdiListTestRelease(g_testClient);
|
||||
@@ -47,12 +47,12 @@ void ListTest::TearDownTestCase()
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_001, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_002, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_002, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
bool *inParam = (bool*)OsalMemAlloc(sizeof(bool) * inParamLen);
|
||||
@@ -89,7 +89,7 @@ HWTEST_F(ListTest, ArratTest_002, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_003, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_003, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
int8_t *inParam = (int8_t*)OsalMemAlloc(sizeof(int8_t) * inParamLen);
|
||||
@@ -127,7 +127,7 @@ HWTEST_F(ListTest, ArratTest_003, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_004, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_004, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
int16_t *inParam = (int16_t*)OsalMemAlloc(sizeof(int16_t) * inParamLen);
|
||||
@@ -164,7 +164,7 @@ HWTEST_F(ListTest, ArratTest_004, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_005, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_005, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
int32_t *inParam = (int32_t*)OsalMemAlloc(sizeof(int32_t) * inParamLen);
|
||||
@@ -201,7 +201,7 @@ HWTEST_F(ListTest, ArratTest_005, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_006, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_006, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
int64_t *inParam = (int64_t*)OsalMemAlloc(sizeof(int64_t) * inParamLen);
|
||||
@@ -238,7 +238,7 @@ HWTEST_F(ListTest, ArratTest_006, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_007, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_007, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
uint8_t *inParam = (uint8_t*)OsalMemAlloc(sizeof(uint8_t) * inParamLen);
|
||||
@@ -275,7 +275,7 @@ HWTEST_F(ListTest, ArratTest_007, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_008, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_008, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
uint16_t *inParam = (uint16_t*)OsalMemAlloc(sizeof(uint16_t) * inParamLen);
|
||||
@@ -312,7 +312,7 @@ HWTEST_F(ListTest, ArratTest_008, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_009, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_009, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
uint32_t *inParam = (uint32_t*)OsalMemAlloc(sizeof(uint32_t) * inParamLen);
|
||||
@@ -349,7 +349,7 @@ HWTEST_F(ListTest, ArratTest_009, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_010, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_010, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
uint64_t *inParam = (uint64_t*)OsalMemAlloc(sizeof(uint64_t) * inParamLen);
|
||||
@@ -386,7 +386,7 @@ HWTEST_F(ListTest, ArratTest_010, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_011, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_011, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
float *inParam = (float*)OsalMemAlloc(sizeof(float) * inParamLen);
|
||||
@@ -424,7 +424,7 @@ HWTEST_F(ListTest, ArratTest_011, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_012, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_012, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
double *inParam = (double*)OsalMemAlloc(sizeof(double) * inParamLen);
|
||||
@@ -462,7 +462,7 @@ HWTEST_F(ListTest, ArratTest_012, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_013, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_013, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 2;
|
||||
char **inParam = (char**)OsalMemAlloc(sizeof(char*) * inParamLen);
|
||||
@@ -505,7 +505,7 @@ HWTEST_F(ListTest, ArratTest_013, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_014, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_014, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 2;
|
||||
|
||||
@@ -545,7 +545,7 @@ HWTEST_F(ListTest, ArratTest_014, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_015, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_015, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 4;
|
||||
enum ESample *inParam = (enum ESample*)OsalMemAlloc(sizeof(enum ESample) * inParamLen);
|
||||
@@ -582,7 +582,7 @@ HWTEST_F(ListTest, ArratTest_015, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_016, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_016, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 2;
|
||||
struct SSample *inParam = (struct SSample *)OsalMemAlloc(sizeof(struct SSample) * inParamLen);
|
||||
@@ -632,7 +632,7 @@ HWTEST_F(ListTest, ArratTest_016, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ArratTest_017, TestSize.Level0)
|
||||
HWTEST_F(CListTest, CListTest_017, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParamLen = 2;
|
||||
union USample *inParam = (union USample *)OsalMemAlloc(sizeof(union USample) * inParamLen);
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "c_test/struct_test/v1_0/client/istruct_test.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -23,7 +23,7 @@ using namespace testing::ext;
|
||||
|
||||
static struct IStructTest* g_testClient = nullptr;
|
||||
|
||||
class StructTest : public testing::Test {
|
||||
class CStructTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase(){}
|
||||
@@ -31,11 +31,11 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void StructTest::SetUpTestCase()
|
||||
void CStructTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = HdiStructTestGet();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("StructTest: get g_testClient failed.\n");
|
||||
printf("CStructTest: get g_testClient failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,45 +47,12 @@ void TearDownTestCase()
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_001, TestSize.Level0)
|
||||
HWTEST_F(CStructTest, CStructTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
|
||||
static std::string ESampleToStr(ESample obj)
|
||||
{
|
||||
switch (obj) {
|
||||
case MEM_ONE:
|
||||
return "MEM_ONE";
|
||||
case MEM_TWO:
|
||||
return "MEM_TWO";
|
||||
case MEM_THREE:
|
||||
return "MEM_THREE";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
static void PrintSSample(const struct SSample* obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
std::cout << (obj->m1 ? 1 : 0) << ",";
|
||||
std::cout << obj->m2 << ",";
|
||||
std::cout << obj->m3 << ",";
|
||||
std::cout << obj->m4;
|
||||
std::cout << "}";
|
||||
}
|
||||
|
||||
static void PrintUSample(const union USample* obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
std::cout << (obj->m1 ? 1 : 0) << ",";
|
||||
std::cout << obj->m2;
|
||||
std::cout << "}";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_002, TestSize.Level0)
|
||||
HWTEST_F(CStructTest, CStructTest_002, TestSize.Level1)
|
||||
{
|
||||
struct SSample* srcObj = (struct SSample*)OsalMemCalloc(sizeof(struct SSample));
|
||||
ASSERT_NE(srcObj, nullptr);
|
||||
@@ -95,9 +62,6 @@ HWTEST_F(StructTest, StructTest_002, TestSize.Level0)
|
||||
srcObj->m3 = 10.125;
|
||||
srcObj->m4 = strdup("hello world");
|
||||
|
||||
PrintSSample(srcObj);
|
||||
std::cout << "\n";
|
||||
|
||||
struct SSample* destObj = nullptr;
|
||||
int32_t ec = g_testClient->SSampleTest(g_testClient, srcObj, &destObj);
|
||||
ASSERT_EQ(ec, HDF_SUCCESS);
|
||||
@@ -107,31 +71,11 @@ HWTEST_F(StructTest, StructTest_002, TestSize.Level0)
|
||||
EXPECT_DOUBLE_EQ(srcObj->m3, destObj->m3);
|
||||
EXPECT_STREQ(srcObj->m4, destObj->m4);
|
||||
|
||||
PrintSSample(destObj);
|
||||
std::cout << "\n";
|
||||
|
||||
SSampleFree(srcObj, true);
|
||||
SSampleFree(destObj, true);
|
||||
}
|
||||
|
||||
static void PrintSSample2(const struct SSample2* obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
std::cout << (obj->m1 ? 1 : 0) << ",";
|
||||
std::cout << obj->m2 << ",";
|
||||
std::cout << obj->m3 << ",";
|
||||
std::cout << obj->m4 << ",";
|
||||
std::cout << obj->m5 << ",";
|
||||
std::cout << obj->m6 << ",";
|
||||
std::cout << obj->m7 << ",";
|
||||
std::cout << obj->m8 << ",";
|
||||
std::cout << obj->m9 << ",";
|
||||
std::cout << obj->m10 << ",";
|
||||
std::cout << obj->m11;
|
||||
std::cout << "}";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_003, TestSize.Level0)
|
||||
HWTEST_F(CStructTest, CStructTest_003, TestSize.Level1)
|
||||
{
|
||||
struct SSample2* srcObj = (struct SSample2*)OsalMemCalloc(sizeof(struct SSample2));
|
||||
ASSERT_NE(srcObj, nullptr);
|
||||
@@ -148,9 +92,6 @@ HWTEST_F(StructTest, StructTest_003, TestSize.Level0)
|
||||
srcObj->m10 = 10.5;
|
||||
srcObj->m11 = 20.125;
|
||||
|
||||
PrintSSample2(srcObj);
|
||||
std::cout << "\n";
|
||||
|
||||
struct SSample2* destObj = nullptr;
|
||||
int32_t ec = g_testClient->SSample2Test(g_testClient, srcObj, &destObj);
|
||||
ASSERT_EQ(ec, HDF_SUCCESS);
|
||||
@@ -167,25 +108,11 @@ HWTEST_F(StructTest, StructTest_003, TestSize.Level0)
|
||||
EXPECT_FLOAT_EQ(srcObj->m10, destObj->m10);
|
||||
EXPECT_DOUBLE_EQ(srcObj->m11, destObj->m11);
|
||||
|
||||
PrintSSample2(destObj);
|
||||
std::cout << "\n";
|
||||
|
||||
SSample2Free(srcObj, true);
|
||||
SSample2Free(destObj, true);
|
||||
}
|
||||
|
||||
static void PrintSSample3(const struct SSample3* obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
std::cout << obj->m1 << ", ";
|
||||
std::cout << ESampleToStr(obj->m2) << ", ";
|
||||
PrintSSample2(&obj->m3);
|
||||
std::cout << ", ";
|
||||
std::cout << obj->m4;
|
||||
std::cout << "}";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_004, TestSize.Level0)
|
||||
HWTEST_F(CStructTest, CStructTest_004, TestSize.Level1)
|
||||
{
|
||||
struct SSample3* srcObj = (struct SSample3*)OsalMemCalloc(sizeof(struct SSample3));
|
||||
ASSERT_NE(srcObj, nullptr);
|
||||
@@ -207,9 +134,6 @@ HWTEST_F(StructTest, StructTest_004, TestSize.Level0)
|
||||
|
||||
srcObj->m4 = open("/fdtest1.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
|
||||
PrintSSample3(srcObj);
|
||||
std::cout << "\n";
|
||||
|
||||
struct SSample3* destObj = nullptr;
|
||||
int32_t ec = g_testClient->SSample3Test(g_testClient, srcObj, &destObj);
|
||||
ASSERT_EQ(ec, HDF_SUCCESS);
|
||||
@@ -229,106 +153,11 @@ HWTEST_F(StructTest, StructTest_004, TestSize.Level0)
|
||||
EXPECT_FLOAT_EQ(srcObj->m3.m10, destObj->m3.m10);
|
||||
EXPECT_DOUBLE_EQ(srcObj->m3.m11, destObj->m3.m11);
|
||||
|
||||
PrintSSample3(destObj);
|
||||
std::cout << "\n";
|
||||
|
||||
SSample3Free(srcObj, true);
|
||||
SSample3Free(destObj, true);
|
||||
}
|
||||
|
||||
static void PrintSSample4(const struct SSample4* obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m1Len; i++) {
|
||||
std::cout << (obj->m1[i] ? 1 : 0) << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m2Len; i++) {
|
||||
std::cout << obj->m2[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m3Len; i++) {
|
||||
std::cout << obj->m3[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m4Len; i++) {
|
||||
std::cout << obj->m4[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m5Len; i++) {
|
||||
std::cout << obj->m5[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m6Len; i++) {
|
||||
std::cout << obj->m6[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m7Len; i++) {
|
||||
std::cout << obj->m7[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m8Len; i++) {
|
||||
std::cout << obj->m8[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m9Len; i++) {
|
||||
std::cout << obj->m9[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m10Len; i++) {
|
||||
std::cout << obj->m10[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m11Len; i++) {
|
||||
std::cout << obj->m11[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m12Len; i++) {
|
||||
std::cout << obj->m12[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m13Len; i++) {
|
||||
std::cout << ESampleToStr(obj->m13[i]) << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m14Len; i++) {
|
||||
PrintSSample(&(obj->m14[i]));
|
||||
std::cout << ",";
|
||||
}
|
||||
std::cout << "}";
|
||||
|
||||
std::cout << "}\n";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_005, TestSize.Level0)
|
||||
HWTEST_F(CStructTest, CStructTest_005, TestSize.Level1)
|
||||
{
|
||||
struct SSample4* srcObj = (struct SSample4*)OsalMemCalloc(sizeof(struct SSample4));
|
||||
ASSERT_NE(srcObj, nullptr);
|
||||
@@ -421,9 +250,6 @@ HWTEST_F(StructTest, StructTest_005, TestSize.Level0)
|
||||
srcObj->m14[i].m4 = strdup("hello");
|
||||
}
|
||||
|
||||
PrintSSample4(srcObj);
|
||||
std::cout << "\n";
|
||||
|
||||
struct SSample4* destObj = nullptr;
|
||||
int32_t ec = g_testClient->SSample4Test(g_testClient, srcObj, &destObj);
|
||||
ASSERT_EQ(ec, HDF_SUCCESS);
|
||||
@@ -488,106 +314,11 @@ HWTEST_F(StructTest, StructTest_005, TestSize.Level0)
|
||||
EXPECT_STREQ((srcObj->m14[i]).m4, (destObj->m14[i]).m4);
|
||||
}
|
||||
|
||||
PrintSSample4(destObj);
|
||||
std::cout << "\n";
|
||||
|
||||
SSample4Free(srcObj, true);
|
||||
SSample4Free(destObj, true);
|
||||
}
|
||||
|
||||
static void PrintSSample5(const struct SSample5* obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m1Len; i++) {
|
||||
std::cout << (obj->m1[i] ? 1 : 0) << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m2Len; i++) {
|
||||
std::cout << obj->m2[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m3Len; i++) {
|
||||
std::cout << obj->m3[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m4Len; i++) {
|
||||
std::cout << obj->m4[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m5Len; i++) {
|
||||
std::cout << obj->m5[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m6Len; i++) {
|
||||
std::cout << obj->m6[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m7Len; i++) {
|
||||
std::cout << obj->m7[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m8Len; i++) {
|
||||
std::cout << obj->m8[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m9Len; i++) {
|
||||
std::cout << obj->m9[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m10Len; i++) {
|
||||
std::cout << obj->m10[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m11Len; i++) {
|
||||
std::cout << obj->m11[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m12Len; i++) {
|
||||
std::cout << obj->m12[i] << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m13Len; i++) {
|
||||
std::cout << ESampleToStr(obj->m13[i]) << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m14Len; i++) {
|
||||
PrintSSample(&(obj->m14[i]));
|
||||
std::cout << ",";
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "}\n";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_006, TestSize.Level0)
|
||||
HWTEST_F(CStructTest, CStructTest_006, TestSize.Level1)
|
||||
{
|
||||
struct SSample5* srcObj = (struct SSample5*)OsalMemCalloc(sizeof(struct SSample5));
|
||||
ASSERT_NE(srcObj, nullptr);
|
||||
@@ -680,9 +411,6 @@ HWTEST_F(StructTest, StructTest_006, TestSize.Level0)
|
||||
srcObj->m14[i].m4 = strdup("hello");
|
||||
}
|
||||
|
||||
PrintSSample5(srcObj);
|
||||
std::cout << "\n";
|
||||
|
||||
struct SSample5* destObj = nullptr;
|
||||
int32_t ec = g_testClient->SSample5Test(g_testClient, srcObj, &destObj);
|
||||
ASSERT_EQ(ec, HDF_SUCCESS);
|
||||
@@ -746,36 +474,11 @@ HWTEST_F(StructTest, StructTest_006, TestSize.Level0)
|
||||
EXPECT_STREQ((srcObj->m14[i]).m4, (destObj->m14[i]).m4);
|
||||
}
|
||||
|
||||
PrintSSample5(destObj);
|
||||
std::cout << "\n";
|
||||
|
||||
SSample5Free(srcObj, true);
|
||||
SSample5Free(destObj, true);
|
||||
}
|
||||
|
||||
static void PrintSSample6(const struct SSample6* obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
|
||||
PrintUSample(&obj->m1);
|
||||
std::cout << ",\n";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m2Len; i++) {
|
||||
PrintUSample(&obj->m2[i]);
|
||||
}
|
||||
std::cout << "},";
|
||||
|
||||
std::cout << "{";
|
||||
for (uint32_t i = 0; i < obj->m3Len; i++) {
|
||||
PrintUSample(&obj->m3[i]);
|
||||
}
|
||||
std::cout << "}";
|
||||
|
||||
std::cout << "}";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_007, TestSize.Level0)
|
||||
HWTEST_F(CStructTest, CStructTest_007, TestSize.Level1)
|
||||
{
|
||||
struct SSample6* srcObj = (struct SSample6*)OsalMemCalloc(sizeof(struct SSample6));
|
||||
ASSERT_NE(srcObj, nullptr);
|
||||
@@ -797,9 +500,6 @@ HWTEST_F(StructTest, StructTest_007, TestSize.Level0)
|
||||
(srcObj->m3[i]).m2 = 2;
|
||||
}
|
||||
|
||||
PrintSSample6(srcObj);
|
||||
std::cout << "\n";
|
||||
|
||||
struct SSample6* destObj = nullptr;
|
||||
int32_t ec = g_testClient->SSample6Test(g_testClient, srcObj, &destObj);
|
||||
ASSERT_EQ(ec, HDF_SUCCESS);
|
||||
@@ -817,9 +517,6 @@ HWTEST_F(StructTest, StructTest_007, TestSize.Level0)
|
||||
EXPECT_EQ((srcObj->m3[i]).m2, (destObj->m3[i]).m2);
|
||||
}
|
||||
|
||||
PrintSSample6(destObj);
|
||||
std::cout << "\n";
|
||||
|
||||
SSample6Free(srcObj, true);
|
||||
SSample6Free(destObj, true);
|
||||
}
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "test/cpp_test/array_test/v1_0/client/array_test_proxy.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -25,7 +25,7 @@ using namespace test::cpp_test::types::v1_0;
|
||||
|
||||
static sptr<IArrayTest> g_testClient = nullptr;
|
||||
|
||||
class ArrayTest : public testing::Test {
|
||||
class CppArrayTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase(){}
|
||||
@@ -33,20 +33,20 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void ArrayTest::SetUpTestCase()
|
||||
void CppArrayTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = IArrayTest::Get();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("ArrayTest: get g_testClient failed.\n");
|
||||
printf("CppArrayTest: get g_testClient failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_001, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_002, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_002, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<bool> inParam;
|
||||
@@ -70,7 +70,7 @@ HWTEST_F(ArrayTest, ArrayTest_002, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_003, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_003, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<int8_t> inParam;
|
||||
@@ -90,7 +90,7 @@ HWTEST_F(ArrayTest, ArrayTest_003, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_004, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_004, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<int16_t> inParam;
|
||||
@@ -110,7 +110,7 @@ HWTEST_F(ArrayTest, ArrayTest_004, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_005, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_005, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<int32_t> inParam;
|
||||
@@ -130,7 +130,7 @@ HWTEST_F(ArrayTest, ArrayTest_005, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_006, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_006, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<int64_t> inParam;
|
||||
@@ -150,7 +150,7 @@ HWTEST_F(ArrayTest, ArrayTest_006, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_007, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_007, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<uint8_t> inParam;
|
||||
@@ -170,7 +170,7 @@ HWTEST_F(ArrayTest, ArrayTest_007, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_008, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_008, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<uint16_t> inParam;
|
||||
@@ -190,7 +190,7 @@ HWTEST_F(ArrayTest, ArrayTest_008, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_009, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_009, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<uint32_t> inParam;
|
||||
@@ -210,7 +210,7 @@ HWTEST_F(ArrayTest, ArrayTest_009, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_010, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_010, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<uint64_t> inParam;
|
||||
@@ -230,7 +230,7 @@ HWTEST_F(ArrayTest, ArrayTest_010, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_011, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_011, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<float> inParam;
|
||||
@@ -250,7 +250,7 @@ HWTEST_F(ArrayTest, ArrayTest_011, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_012, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_012, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<double> inParam;
|
||||
@@ -270,7 +270,7 @@ HWTEST_F(ArrayTest, ArrayTest_012, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_013, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_013, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 2;
|
||||
std::vector<std::string> inParam;
|
||||
@@ -290,10 +290,10 @@ HWTEST_F(ArrayTest, ArrayTest_013, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_014, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_014, TestSize.Level1)
|
||||
{
|
||||
int fd1 = open("/ArrayTest_014_0.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
int fd2 = open("/ArrayTest_014_1.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
int fd1 = open("/CppArrayTest_014_0.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
int fd2 = open("/CppArrayTest_014_1.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
ASSERT_NE(fd1, -1);
|
||||
ASSERT_NE(fd2, -1);
|
||||
|
||||
@@ -314,7 +314,7 @@ HWTEST_F(ArrayTest, ArrayTest_014, TestSize.Level0)
|
||||
close(fd2);
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_015, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_015, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 2;
|
||||
std::vector<ESample> inParam;
|
||||
@@ -334,7 +334,7 @@ HWTEST_F(ArrayTest, ArrayTest_015, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_016, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_016, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<SSample> inParam;
|
||||
@@ -362,7 +362,7 @@ HWTEST_F(ArrayTest, ArrayTest_016, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_017, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_017, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 2;
|
||||
std::vector<USample> inParam;
|
||||
@@ -385,7 +385,7 @@ HWTEST_F(ArrayTest, ArrayTest_017, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ArrayTest, ArrayTest_018, TestSize.Level0)
|
||||
HWTEST_F(CppArrayTest, CppArrayTest_018, TestSize.Level1)
|
||||
{
|
||||
std::vector<sptr<SequenceData>> inParam = {
|
||||
sptr<SequenceData>(new SequenceData(1, 1.2, "hello")),
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
#include <thread>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "test/cpp_test/cb_test/v1_0/client/cb_test_proxy.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -24,7 +24,7 @@ static sptr<ICbTest> g_testClient = nullptr;
|
||||
|
||||
static sptr<ICallback> g_callbackObj = nullptr;
|
||||
|
||||
class CbTest : public testing::Test {
|
||||
class CppCbTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase(){}
|
||||
@@ -32,24 +32,24 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void CbTest::SetUpTestCase()
|
||||
void CppCbTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = ICbTest::Get();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("CbTest: get g_testClient failed.\n");
|
||||
printf("CppCbTest: get g_testClient failed.\n");
|
||||
}
|
||||
g_callbackObj = new CallbackService();
|
||||
if (g_callbackObj == nullptr) {
|
||||
printf("CbTest: get g_callbackObj failed.\n");
|
||||
printf("CppCbTest: get g_callbackObj failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(CbTest, CbTest_001, TestSize.Level0)
|
||||
HWTEST_F(CppCbTest, CppCbTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
HWTEST_F(CbTest, CbTest_002, TestSize.Level0)
|
||||
HWTEST_F(CppCbTest, CppCbTest_002, TestSize.Level1)
|
||||
{
|
||||
int32_t ec = g_testClient->CallbackTest(g_callbackObj);
|
||||
ASSERT_EQ(ec, HDF_SUCCESS);
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "cpp_test/data_test/v1_0/client/data_test_proxy.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -25,7 +25,7 @@ using namespace test::cpp_test::types::v1_0;
|
||||
|
||||
static sptr<IDataTest> g_testClient = nullptr;
|
||||
|
||||
class DataTest : public testing::Test {
|
||||
class CppDataTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase(){}
|
||||
@@ -33,20 +33,20 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void DataTest::SetUpTestCase()
|
||||
void CppDataTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = IDataTest::Get();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("DataTest: get g_testClient failed.\n");
|
||||
printf("CppDataTest: get g_testClient failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_001, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_002, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_002, TestSize.Level1)
|
||||
{
|
||||
bool inParam = true;
|
||||
bool outParam = false;
|
||||
@@ -57,7 +57,7 @@ HWTEST_F(DataTest, DataTest_002, TestSize.Level0)
|
||||
EXPECT_TRUE(outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_003, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_003, TestSize.Level1)
|
||||
{
|
||||
int8_t inParam = 10;
|
||||
int8_t outParam = 0;
|
||||
@@ -68,7 +68,7 @@ HWTEST_F(DataTest, DataTest_003, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_004, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_004, TestSize.Level1)
|
||||
{
|
||||
int16_t inParam = 10;
|
||||
int16_t outParam = 0;
|
||||
@@ -79,7 +79,7 @@ HWTEST_F(DataTest, DataTest_004, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_005, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_005, TestSize.Level1)
|
||||
{
|
||||
int32_t inParam = 10;
|
||||
int32_t outParam = 0;
|
||||
@@ -90,7 +90,7 @@ HWTEST_F(DataTest, DataTest_005, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_006, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_006, TestSize.Level1)
|
||||
{
|
||||
int64_t inParam = 10;
|
||||
int64_t outParam = 0;
|
||||
@@ -101,7 +101,7 @@ HWTEST_F(DataTest, DataTest_006, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_007, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_007, TestSize.Level1)
|
||||
{
|
||||
uint8_t inParam = 10;
|
||||
uint8_t outParam = 0;
|
||||
@@ -112,7 +112,7 @@ HWTEST_F(DataTest, DataTest_007, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_008, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_008, TestSize.Level1)
|
||||
{
|
||||
uint16_t inParam = 10;
|
||||
uint16_t outParam = 0;
|
||||
@@ -123,7 +123,7 @@ HWTEST_F(DataTest, DataTest_008, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_009, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_009, TestSize.Level1)
|
||||
{
|
||||
uint32_t inParam = 10;
|
||||
uint32_t outParam = 0;
|
||||
@@ -134,7 +134,7 @@ HWTEST_F(DataTest, DataTest_009, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_010, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_010, TestSize.Level1)
|
||||
{
|
||||
uint64_t inParam = 10;
|
||||
uint64_t outParam = 0;
|
||||
@@ -145,7 +145,7 @@ HWTEST_F(DataTest, DataTest_010, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_011, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_011, TestSize.Level1)
|
||||
{
|
||||
float inParam = 10.5;
|
||||
float outParam = 0;
|
||||
@@ -156,7 +156,7 @@ HWTEST_F(DataTest, DataTest_011, TestSize.Level0)
|
||||
EXPECT_FLOAT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_012, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_012, TestSize.Level1)
|
||||
{
|
||||
double inParam = 10.5;
|
||||
double outParam = 0;
|
||||
@@ -167,7 +167,7 @@ HWTEST_F(DataTest, DataTest_012, TestSize.Level0)
|
||||
EXPECT_DOUBLE_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_013, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_013, TestSize.Level1)
|
||||
{
|
||||
std::string inParam("hello");
|
||||
std::string outParam;
|
||||
@@ -178,7 +178,7 @@ HWTEST_F(DataTest, DataTest_013, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_014, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_014, TestSize.Level1)
|
||||
{
|
||||
int fd = open("/cpp_data_test_014.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
printf("file open, fd = %d\n", fd);
|
||||
@@ -210,7 +210,7 @@ finished:
|
||||
close(fd);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_015, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_015, TestSize.Level1)
|
||||
{
|
||||
ESample inParam = ESample::MEM_ONE;
|
||||
ESample outParam = ESample::MEM_TWO;
|
||||
@@ -221,7 +221,7 @@ HWTEST_F(DataTest, DataTest_015, TestSize.Level0)
|
||||
EXPECT_EQ(inParam, outParam);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_016, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_016, TestSize.Level1)
|
||||
{
|
||||
SSample inParam;
|
||||
inParam.m1 = true;
|
||||
@@ -240,7 +240,7 @@ HWTEST_F(DataTest, DataTest_016, TestSize.Level0)
|
||||
EXPECT_EQ(inParam.m4, outParam.m4);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_017, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_017, TestSize.Level1)
|
||||
{
|
||||
USample inParam;
|
||||
inParam.m2 = 10;
|
||||
@@ -254,7 +254,7 @@ HWTEST_F(DataTest, DataTest_017, TestSize.Level0)
|
||||
EXPECT_DOUBLE_EQ(inParam.m2, outParam.m2);
|
||||
}
|
||||
|
||||
HWTEST_F(DataTest, DataTest_018, TestSize.Level0)
|
||||
HWTEST_F(CppDataTest, CppDataTest_018, TestSize.Level1)
|
||||
{
|
||||
sptr<SequenceData> inParam(new SequenceData(1, 1.2, "hello"));
|
||||
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "test/cpp_test/list_test/v1_0/client/list_test_proxy.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -25,7 +25,7 @@ using namespace test::cpp_test::types::v1_0;
|
||||
|
||||
static sptr<IListTest> g_testClient = nullptr;
|
||||
|
||||
class ListTest : public testing::Test {
|
||||
class CppListTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase(){}
|
||||
@@ -33,20 +33,20 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void ListTest::SetUpTestCase()
|
||||
void CppListTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = IListTest::Get();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("ListTest: get g_testClient failed.\n");
|
||||
printf("CppListTest: get g_testClient failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_001, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_002, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_002, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<bool> inParam;
|
||||
@@ -70,7 +70,7 @@ HWTEST_F(ListTest, ListTest_002, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_003, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_003, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<int8_t> inParam;
|
||||
@@ -90,7 +90,7 @@ HWTEST_F(ListTest, ListTest_003, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_004, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_004, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<int16_t> inParam;
|
||||
@@ -110,7 +110,7 @@ HWTEST_F(ListTest, ListTest_004, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_005, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_005, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<int32_t> inParam;
|
||||
@@ -130,7 +130,7 @@ HWTEST_F(ListTest, ListTest_005, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_006, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_006, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<int64_t> inParam;
|
||||
@@ -150,7 +150,7 @@ HWTEST_F(ListTest, ListTest_006, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_007, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_007, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<uint8_t> inParam;
|
||||
@@ -170,7 +170,7 @@ HWTEST_F(ListTest, ListTest_007, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_008, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_008, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<uint16_t> inParam;
|
||||
@@ -190,7 +190,7 @@ HWTEST_F(ListTest, ListTest_008, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_009, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_009, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<uint32_t> inParam;
|
||||
@@ -210,7 +210,7 @@ HWTEST_F(ListTest, ListTest_009, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_010, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_010, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<uint64_t> inParam;
|
||||
@@ -230,7 +230,7 @@ HWTEST_F(ListTest, ListTest_010, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_011, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_011, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<float> inParam;
|
||||
@@ -250,7 +250,7 @@ HWTEST_F(ListTest, ListTest_011, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_012, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_012, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<double> inParam;
|
||||
@@ -270,7 +270,7 @@ HWTEST_F(ListTest, ListTest_012, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_013, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_013, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 2;
|
||||
std::vector<std::string> inParam;
|
||||
@@ -290,10 +290,10 @@ HWTEST_F(ListTest, ListTest_013, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_014, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_014, TestSize.Level1)
|
||||
{
|
||||
int fd1 = open("/ListTest_014_0.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
int fd2 = open("/ListTest_014_1.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
int fd1 = open("/CppListTest_014_0.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
int fd2 = open("/CppListTest_014_1.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
ASSERT_NE(fd1, -1);
|
||||
ASSERT_NE(fd2, -1);
|
||||
|
||||
@@ -314,7 +314,7 @@ HWTEST_F(ListTest, ListTest_014, TestSize.Level0)
|
||||
close(fd2);
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_015, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_015, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 2;
|
||||
std::vector<ESample> inParam;
|
||||
@@ -334,7 +334,7 @@ HWTEST_F(ListTest, ListTest_015, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_016, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_016, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 4;
|
||||
std::vector<SSample> inParam;
|
||||
@@ -362,7 +362,7 @@ HWTEST_F(ListTest, ListTest_016, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_017, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_017, TestSize.Level1)
|
||||
{
|
||||
uint32_t len = 2;
|
||||
std::vector<USample> inParam;
|
||||
@@ -385,7 +385,7 @@ HWTEST_F(ListTest, ListTest_017, TestSize.Level0)
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(ListTest, ListTest_018, TestSize.Level0)
|
||||
HWTEST_F(CppListTest, CppListTest_018, TestSize.Level1)
|
||||
{
|
||||
std::vector<sptr<SequenceData>> inParam = {
|
||||
sptr<SequenceData>(new SequenceData(1, 1.2, "hello")),
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
* See the LICENSE file in the root of this repository for complete details.
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
#include <map>
|
||||
#include <string>
|
||||
#include <thread>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <string>
|
||||
#include <map>
|
||||
#include <iostream>
|
||||
#include <securec.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "cpp_test/map_test/v1_0/client/map_test_proxy.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -27,7 +27,7 @@ using namespace test::cpp_test::types::v1_0;
|
||||
|
||||
static sptr<IMapTest> g_testClient = nullptr;
|
||||
|
||||
class MapTest : public testing::Test {
|
||||
class CppMapTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase();
|
||||
@@ -35,15 +35,15 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void MapTest::SetUpTestCase()
|
||||
void CppMapTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = IMapTest::Get();
|
||||
if (g_testClient == nullptr) {
|
||||
std::cout << "MapTest: get g_testClient failed." << std::endl;
|
||||
std::cout << "CppMapTest: get g_testClient failed." << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void MapTest::TearDownTestCase()
|
||||
void CppMapTest::TearDownTestCase()
|
||||
{
|
||||
if (g_testClient != nullptr) {
|
||||
delete g_testClient;
|
||||
@@ -51,12 +51,12 @@ void MapTest::TearDownTestCase()
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_001, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_002, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_002, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, int8_t> inParam;
|
||||
inParam[1] = 'A';
|
||||
@@ -72,13 +72,12 @@ HWTEST_F(MapTest, MapTest_002, TestSize.Level0)
|
||||
if (outIter != outParam.end()) {
|
||||
ASSERT_EQ(inIter->second, outIter->second);
|
||||
} else {
|
||||
std::cout << "MapTest_002 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_002 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
HWTEST_F(MapTest, MapTest_003, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_003, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, int16_t> inParam;
|
||||
inParam[1] = 1;
|
||||
@@ -94,12 +93,12 @@ HWTEST_F(MapTest, MapTest_003, TestSize.Level0)
|
||||
if (outIter != outParam.end()) {
|
||||
ASSERT_EQ(inIter->second, outIter->second);
|
||||
} else {
|
||||
std::cout << "MapTest_003 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_003 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_004, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_004, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, int32_t> inParam;
|
||||
inParam[1] = 1;
|
||||
@@ -115,12 +114,12 @@ HWTEST_F(MapTest, MapTest_004, TestSize.Level0)
|
||||
if (outIter != outParam.end()) {
|
||||
ASSERT_EQ(inIter->second, outIter->second);
|
||||
} else {
|
||||
std::cout << "MapTest_004 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_004 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_005, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_005, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, int64_t> inParam;
|
||||
inParam[1] = 100;
|
||||
@@ -136,12 +135,12 @@ HWTEST_F(MapTest, MapTest_005, TestSize.Level0)
|
||||
if (outIter != outParam.end()) {
|
||||
ASSERT_EQ(inIter->second, outIter->second);
|
||||
} else {
|
||||
std::cout << "MapTest_005 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_005 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_006, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_006, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, float> inParam;
|
||||
inParam[1] = 10.5;
|
||||
@@ -157,12 +156,12 @@ HWTEST_F(MapTest, MapTest_006, TestSize.Level0)
|
||||
if (outIter != outParam.end()) {
|
||||
ASSERT_EQ(inIter->second, outIter->second);
|
||||
} else {
|
||||
std::cout << "MapTest_006 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_006 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_007, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_007, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, double> inParam;
|
||||
inParam[1] = 10.55;
|
||||
@@ -178,12 +177,12 @@ HWTEST_F(MapTest, MapTest_007, TestSize.Level0)
|
||||
if (outIter != outParam.end()) {
|
||||
ASSERT_DOUBLE_EQ(inIter->second, outIter->second);
|
||||
} else {
|
||||
std::cout << "MapTest_007 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_007 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_008, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_008, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, std::string> inParam;
|
||||
inParam[1] = "hello";
|
||||
@@ -199,12 +198,12 @@ HWTEST_F(MapTest, MapTest_008, TestSize.Level0)
|
||||
if (outIter != outParam.end()) {
|
||||
ASSERT_STREQ(inIter->second.c_str(), outIter->second.c_str());
|
||||
} else {
|
||||
std::cout << "MapTest_008 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_008 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_009, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_009, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, int> inParam;
|
||||
inParam[1] = open("/cpp_test_map_009.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
@@ -221,7 +220,7 @@ HWTEST_F(MapTest, MapTest_009, TestSize.Level0)
|
||||
std::cout << "inParam[" << inIter->first << "]:" << inIter->second << std::endl;
|
||||
std::cout << "outParam[" << outIter->first << "]:" << outIter->second << std::endl;
|
||||
} else {
|
||||
std::cout << "MapTest_009 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_009 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,7 +228,7 @@ HWTEST_F(MapTest, MapTest_009, TestSize.Level0)
|
||||
close(outParam[0]);
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_010, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_010, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, sptr<SequenceData>> inParam = {
|
||||
{0, sptr<SequenceData>(new SequenceData(1, 1.2, "hello"))},
|
||||
@@ -248,12 +247,12 @@ HWTEST_F(MapTest, MapTest_010, TestSize.Level0)
|
||||
EXPECT_DOUBLE_EQ(inIter->second->m2_, outIter->second->m2_);
|
||||
EXPECT_EQ(inIter->second->m3_, outIter->second->m3_);
|
||||
} else {
|
||||
std::cout << "MapTest_010 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_010 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_011, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_011, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, ESample> inParam;
|
||||
inParam[1] = ESample::MEM_ONE;
|
||||
@@ -269,12 +268,12 @@ HWTEST_F(MapTest, MapTest_011, TestSize.Level0)
|
||||
if (outIter != outParam.end()) {
|
||||
ASSERT_EQ(inIter->second, outIter->second);
|
||||
} else {
|
||||
std::cout << "MapTest_011 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_011 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_012, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_012, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, SSample> inParam;
|
||||
for (int32_t i = 0; i < 2; i++) {
|
||||
@@ -299,12 +298,12 @@ HWTEST_F(MapTest, MapTest_012, TestSize.Level0)
|
||||
ASSERT_DOUBLE_EQ((inIter->second).m3, (outIter->second).m3);
|
||||
ASSERT_EQ((inIter->second).m4, (outIter->second).m4);
|
||||
} else {
|
||||
std::cout << "MapTest_012 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_012 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(MapTest, MapTest_013, TestSize.Level0)
|
||||
HWTEST_F(CppMapTest, CppMapTest_013, TestSize.Level1)
|
||||
{
|
||||
std::map<int32_t, USample> inParam;
|
||||
for (int32_t i = 0; i < 2; i++) {
|
||||
@@ -325,7 +324,7 @@ HWTEST_F(MapTest, MapTest_013, TestSize.Level0)
|
||||
ASSERT_EQ(((inIter->second).m1 ? 1 : 0), ((outIter->second).m1 ? 1 : 0));
|
||||
ASSERT_EQ((inIter->second).m2, (outIter->second).m2);
|
||||
} else {
|
||||
std::cout << "MapTest_013 TestCase is failed!" << std::endl;
|
||||
std::cout << "CppMapTest_013 TestCase is failed!" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
#include <iostream>
|
||||
#include <thread>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf_log.h>
|
||||
#include <osal_mem.h>
|
||||
#include <securec.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include "hdf_log.h"
|
||||
#include "osal_mem.h"
|
||||
#include "securec.h"
|
||||
#include "test/cpp_test/struct_test/v1_0/client/struct_test_proxy.h"
|
||||
|
||||
using namespace OHOS;
|
||||
@@ -25,7 +25,7 @@ using namespace test::cpp_test::types::v1_0;
|
||||
|
||||
static sptr<IStructTest> g_testClient = nullptr;
|
||||
|
||||
class StructTest : public testing::Test {
|
||||
class CppStructTest : public testing::Test {
|
||||
public:
|
||||
static void SetUpTestCase();
|
||||
static void TearDownTestCase(){}
|
||||
@@ -33,44 +33,20 @@ public:
|
||||
void TearDown(){}
|
||||
};
|
||||
|
||||
void StructTest::SetUpTestCase()
|
||||
void CppStructTest::SetUpTestCase()
|
||||
{
|
||||
g_testClient = IStructTest::Get();
|
||||
if (g_testClient == nullptr) {
|
||||
printf("StructTest: get g_testClient failed.\n");
|
||||
printf("CppStructTest: get g_testClient failed.\n");
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_001, TestSize.Level0)
|
||||
HWTEST_F(CppStructTest, CppStructTest_001, TestSize.Level1)
|
||||
{
|
||||
ASSERT_NE(nullptr, g_testClient);
|
||||
}
|
||||
|
||||
static std::string ESampleToStr(ESample obj)
|
||||
{
|
||||
switch (obj) {
|
||||
case ESample::MEM_ONE:
|
||||
return "MEM_ONE";
|
||||
case ESample::MEM_TWO:
|
||||
return "MEM_TWO";
|
||||
case ESample::MEM_THREE:
|
||||
return "MEM_THREE";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
static void PrintSSample(const SSample& obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
std::cout << "m1:" << (obj.m1 ? 1 : 0) << ", ";
|
||||
std::cout << "m2:" << obj.m2 << ", ";
|
||||
std::cout << "m3:" << obj.m3 << ", ";
|
||||
std::cout << "m4:" << obj.m4;
|
||||
std::cout << "}";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_002, TestSize.Level0)
|
||||
HWTEST_F(CppStructTest, CppStructTest_002, TestSize.Level1)
|
||||
{
|
||||
SSample srcObj = {true, 1, 1000.125, "hello world"};
|
||||
|
||||
@@ -83,33 +59,9 @@ HWTEST_F(StructTest, StructTest_002, TestSize.Level0)
|
||||
EXPECT_EQ(srcObj.m2, destObj.m2);
|
||||
EXPECT_DOUBLE_EQ(srcObj.m3, destObj.m3);
|
||||
EXPECT_EQ(srcObj.m4, destObj.m4);
|
||||
|
||||
PrintSSample(srcObj);
|
||||
std::cout << "\n";
|
||||
PrintSSample(destObj);
|
||||
std::cout << "\n";
|
||||
std::cout << "----------------------------" << std::endl;
|
||||
}
|
||||
|
||||
static void PrintSSample2(const SSample2& obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
|
||||
std::cout << "m1:" << obj.m1 << ", ";
|
||||
std::cout << "m2:" << (obj.m2 ? 1 : 0) << ", ";
|
||||
std::cout << "m3:" << obj.m3 << ", ";
|
||||
std::cout << "m4:" << obj.m4 << ", ";
|
||||
std::cout << "m5:" << obj.m5 << ", ";
|
||||
std::cout << "m6:" << obj.m6 << ", ";
|
||||
std::cout << "m7:" << obj.m7 << ", ";
|
||||
std::cout << "m8:" << obj.m8 << ", ";
|
||||
std::cout << "m9:" << obj.m9 << ", ";
|
||||
std::cout << "m10:" << obj.m10 << ", ";
|
||||
std::cout << "m11:" << obj.m11;
|
||||
std::cout << "}";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_003, TestSize.Level0)
|
||||
HWTEST_F(CppStructTest, CppStructTest_003, TestSize.Level1)
|
||||
{
|
||||
SSample2 srcObj = {true, 1, 2, 3, 4, 65, 20, 30, 40, 100.25, 1000.125};
|
||||
|
||||
@@ -129,28 +81,9 @@ HWTEST_F(StructTest, StructTest_003, TestSize.Level0)
|
||||
EXPECT_EQ(srcObj.m9, destObj.m9);
|
||||
EXPECT_FLOAT_EQ(srcObj.m10, destObj.m10);
|
||||
EXPECT_DOUBLE_EQ(srcObj.m11, destObj.m11);
|
||||
|
||||
PrintSSample2(srcObj);
|
||||
std::cout << "\n";
|
||||
PrintSSample2(destObj);
|
||||
std::cout << "\n";
|
||||
std::cout << "----------------------------" << std::endl;
|
||||
}
|
||||
|
||||
static void PrintSSample3(const SSample3& obj)
|
||||
{
|
||||
std::cout << "{";
|
||||
std::cout << "m1:" << obj.m1 << ", ";
|
||||
std::cout << "m2:" << ESampleToStr(obj.m2) << ", ";
|
||||
|
||||
std::cout << "m3:";
|
||||
PrintSSample2(obj.m3);
|
||||
std::cout << ", ";
|
||||
|
||||
std::cout << "m4:" << obj.m4;
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_004, TestSize.Level0)
|
||||
HWTEST_F(CppStructTest, CppStructTest_004, TestSize.Level1)
|
||||
{
|
||||
int fd = open("/fdtest3.txt", O_CREAT | O_RDWR | O_TRUNC, 0644);
|
||||
SSample3 srcObj = {
|
||||
@@ -166,7 +99,6 @@ HWTEST_F(StructTest, StructTest_004, TestSize.Level0)
|
||||
|
||||
EXPECT_EQ(srcObj.m1, destObj.m1);
|
||||
EXPECT_EQ(srcObj.m2, destObj.m2);
|
||||
|
||||
EXPECT_EQ((srcObj.m3.m1 ? 1 : 0), (destObj.m3.m1 ? 1 : 0));
|
||||
EXPECT_EQ(srcObj.m3.m2, destObj.m3.m2);
|
||||
EXPECT_EQ(srcObj.m3.m3, destObj.m3.m3);
|
||||
@@ -178,114 +110,11 @@ HWTEST_F(StructTest, StructTest_004, TestSize.Level0)
|
||||
EXPECT_EQ(srcObj.m3.m9, destObj.m3.m9);
|
||||
EXPECT_FLOAT_EQ(srcObj.m3.m10, destObj.m3.m10);
|
||||
EXPECT_DOUBLE_EQ(srcObj.m3.m11, destObj.m3.m11);
|
||||
|
||||
PrintSSample3(srcObj);
|
||||
std::cout << "\n";
|
||||
PrintSSample3(destObj);
|
||||
std::cout << "\n";
|
||||
std::cout << "----------------------------" << std::endl;
|
||||
close(srcObj.m4);
|
||||
close(destObj.m4);
|
||||
}
|
||||
|
||||
static void PrintSSample4(const SSample4& obj)
|
||||
{
|
||||
std::cout << "{\n";
|
||||
|
||||
std::cout << "m1:{";
|
||||
for (size_t i = 0; i < obj.m1.size(); i++) {
|
||||
std::cout << (obj.m1[i] ? 1 : 0) << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m2:{";
|
||||
for (size_t i = 0; i < obj.m2.size(); i++) {
|
||||
std::cout << obj.m2[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m3:{";
|
||||
for (size_t i = 0; i < obj.m3.size(); i++) {
|
||||
std::cout << obj.m3[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m4:{";
|
||||
for (size_t i = 0; i < obj.m4.size(); i++) {
|
||||
std::cout << obj.m4[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m5:{";
|
||||
for (size_t i = 0; i < obj.m5.size(); i++) {
|
||||
std::cout << obj.m5[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m6:{";
|
||||
for (size_t i = 0; i < obj.m6.size(); i++) {
|
||||
std::cout << obj.m6[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m7:{";
|
||||
for (size_t i = 0; i < obj.m7.size(); i++) {
|
||||
std::cout << obj.m7[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m8:{";
|
||||
for (size_t i = 0; i < obj.m8.size(); i++) {
|
||||
std::cout << obj.m8[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m9:{";
|
||||
for (size_t i = 0; i < obj.m9.size(); i++) {
|
||||
std::cout << obj.m9[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m10:{";
|
||||
for (size_t i = 0; i < obj.m10.size(); i++) {
|
||||
std::cout << obj.m10[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m11:{";
|
||||
for (size_t i = 0; i < obj.m11.size(); i++) {
|
||||
std::cout << obj.m11[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m12:{";
|
||||
for (size_t i = 0; i < obj.m12.size(); i++) {
|
||||
std::cout << obj.m12[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m13:{";
|
||||
for (size_t i = 0; i < obj.m13.size(); i++) {
|
||||
std::cout << ESampleToStr(obj.m13[i]) << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m14:{";
|
||||
for (size_t i = 0; i < obj.m13.size(); i++) {
|
||||
PrintSSample(obj.m14[i]);
|
||||
std::cout << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m15:{";
|
||||
for (size_t i = 0; i < obj.m15.size(); i++) {
|
||||
std::cout << obj.m15[i] << ", ";
|
||||
}
|
||||
std::cout << "}";
|
||||
std::cout << "}\n";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_005, TestSize.Level0)
|
||||
HWTEST_F(CppStructTest, CppStructTest_005, TestSize.Level1)
|
||||
{
|
||||
SSample4 srcObj = {
|
||||
{true, false},
|
||||
@@ -381,112 +210,9 @@ HWTEST_F(StructTest, StructTest_005, TestSize.Level0)
|
||||
std::cout << "var1 or var2 is nullptr" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
PrintSSample4(srcObj);
|
||||
PrintSSample4(destObj);
|
||||
std::cout << "\n";
|
||||
std::cout << "--------------------------------------\n";
|
||||
}
|
||||
|
||||
static void PrintSSample5(const SSample5& obj)
|
||||
{
|
||||
std::cout << "{\n";
|
||||
|
||||
std::cout << "m1:{";
|
||||
for (size_t i = 0; i < obj.m1.size(); i++) {
|
||||
std::cout << obj.m1[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m2:{";
|
||||
for (size_t i = 0; i < obj.m2.size(); i++) {
|
||||
std::cout << obj.m2[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m3:{";
|
||||
for (size_t i = 0; i < obj.m3.size(); i++) {
|
||||
std::cout << obj.m3[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m4:{";
|
||||
for (size_t i = 0; i < obj.m4.size(); i++) {
|
||||
std::cout << obj.m4[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m5:{";
|
||||
for (size_t i = 0; i < obj.m5.size(); i++) {
|
||||
std::cout << obj.m5[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m6:{";
|
||||
for (size_t i = 0; i < obj.m6.size(); i++) {
|
||||
std::cout << obj.m6[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m7:{";
|
||||
for (size_t i = 0; i < obj.m7.size(); i++) {
|
||||
std::cout << obj.m7[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m8:{";
|
||||
for (size_t i = 0; i < obj.m8.size(); i++) {
|
||||
std::cout << obj.m8[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m9:{";
|
||||
for (size_t i = 0; i < obj.m9.size(); i++) {
|
||||
std::cout << obj.m9[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m10:{";
|
||||
for (size_t i = 0; i < obj.m10.size(); i++) {
|
||||
std::cout << obj.m10[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m11:{";
|
||||
for (size_t i = 0; i < obj.m11.size(); i++) {
|
||||
std::cout << obj.m11[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m12:{";
|
||||
for (size_t i = 0; i < obj.m12.size(); i++) {
|
||||
std::cout << obj.m12[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m13:{";
|
||||
for (size_t i = 0; i < obj.m13.size(); i++) {
|
||||
std::cout << ESampleToStr(obj.m13[i]) << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "m14:{";
|
||||
for (size_t i = 0; i < obj.m14.size(); i++) {
|
||||
PrintSSample(obj.m14[i]);
|
||||
std::cout << ", \n";
|
||||
}
|
||||
std::cout << ",\n";
|
||||
|
||||
std::cout << "m13:{";
|
||||
for (size_t i = 0; i < obj.m15.size(); i++) {
|
||||
std::cout << obj.m15[i] << ", ";
|
||||
}
|
||||
std::cout << "},\n";
|
||||
|
||||
std::cout << "}";
|
||||
}
|
||||
|
||||
HWTEST_F(StructTest, StructTest_006, TestSize.Level0)
|
||||
HWTEST_F(CppStructTest, CppStructTest_006, TestSize.Level1)
|
||||
{
|
||||
SSample5 srcObj = {
|
||||
{true, false},
|
||||
@@ -582,9 +308,4 @@ HWTEST_F(StructTest, StructTest_006, TestSize.Level0)
|
||||
std::cout << "var1 or var2 is nullptr" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
PrintSSample5(srcObj);
|
||||
PrintSSample5(destObj);
|
||||
std::cout << "\n";
|
||||
std::cout << "--------------------------------------\n";
|
||||
}
|
||||
@@ -114,7 +114,7 @@ int File::Read()
|
||||
return (count != 0) ? count : -1;
|
||||
}
|
||||
|
||||
bool File::ReadData(void* data, size_t size)
|
||||
bool File::ReadData(void* data, size_t size) const
|
||||
{
|
||||
if (data == nullptr || size == 0) {
|
||||
return true;
|
||||
@@ -128,7 +128,7 @@ bool File::ReadData(void* data, size_t size)
|
||||
return count == 1;
|
||||
}
|
||||
|
||||
bool File::WriteData(const void* data, size_t size)
|
||||
bool File::WriteData(const void* data, size_t size) const
|
||||
{
|
||||
if (data == nullptr || size == 0) {
|
||||
return true;
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#ifndef OHOS_HDI_FILE_H
|
||||
#define OHOS_HDI_FILE_H
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdio>
|
||||
#include "util/string.h"
|
||||
|
||||
@@ -47,9 +46,9 @@ public:
|
||||
return columnNo_;
|
||||
}
|
||||
|
||||
bool ReadData(void* data, size_t size);
|
||||
bool ReadData(void* data, size_t size) const;
|
||||
|
||||
bool WriteData(const void* data, size_t size);
|
||||
bool WriteData(const void* data, size_t size) const;
|
||||
|
||||
void Flush();
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
namespace OHOS {
|
||||
namespace HDI {
|
||||
const char* Options::OPT_SUPPORT_ARGS = "c:d:";
|
||||
const char* Options::optSupportArgs = "c:d:";
|
||||
static struct option g_longOpts[] = {
|
||||
{"help", no_argument, nullptr, 'h'},
|
||||
{"version", no_argument, nullptr, 'v'},
|
||||
@@ -34,14 +34,14 @@ Options& Options::GetInstance()
|
||||
return option;
|
||||
}
|
||||
|
||||
Options& Options::Parse(int argc, char** argv)
|
||||
Options& Options::Parse(int argc, char* const argv[])
|
||||
{
|
||||
program_ = argv[0];
|
||||
opterr = 1;
|
||||
int op = 0;
|
||||
int optIndex = 0;
|
||||
|
||||
while ((op = getopt_long(argc, argv, OPT_SUPPORT_ARGS, g_longOpts, &optIndex)) != OPT_END) {
|
||||
while ((op = getopt_long(argc, argv, optSupportArgs, g_longOpts, &optIndex)) != OPT_END) {
|
||||
switch (op) {
|
||||
case 'c':
|
||||
doCompile_ = true;
|
||||
|
||||
@@ -21,7 +21,7 @@ public:
|
||||
Options(const Options& other) = delete;
|
||||
Options operator=(const Options& other) = delete;
|
||||
|
||||
Options& Parse(int argc, char** argv);
|
||||
Options& Parse(int argc, char* const argv[]);
|
||||
|
||||
~Options() = default;
|
||||
|
||||
@@ -98,7 +98,7 @@ private:
|
||||
|
||||
void CheckOptions();
|
||||
|
||||
static const char* OPT_SUPPORT_ARGS;
|
||||
static const char* optSupportArgs;
|
||||
static constexpr int OPT_END = -1;
|
||||
|
||||
static constexpr int VERSION_MAJOR = 0;
|
||||
|
||||
Reference in New Issue
Block a user