| 123 | } |
| 124 | |
| 125 | void ServerCodeRender::GenerateServerMainCpp(SyntaxTree *stree, FILE *write, const bool is_uthread_mode) { |
| 126 | char svrfile[128]{'\0'}; |
| 127 | name_render_.GetServerMainFileName(stree->GetName(), svrfile, sizeof(svrfile)); |
| 128 | |
| 129 | string buffer; |
| 130 | name_render_.GetCopyright("phxrpc_pb2server", stree->GetProtoFile(), &buffer, false); |
| 131 | |
| 132 | fprintf(write, "/* %s.cpp\n", svrfile); |
| 133 | fprintf(write, "%s", buffer.c_str()); |
| 134 | fprintf(write, "*/\n"); |
| 135 | fprintf(write, "\n"); |
| 136 | |
| 137 | char dispatcher_class[128]{'\0'}, dispatcher_file[128]{'\0'}; |
| 138 | char service_impl_class[128]{'\0'}, service_impl_file[128]{'\0'}; |
| 139 | char server_config_class[128]{'\0'}, server_config_file[128]{'\0'}; |
| 140 | |
| 141 | name_render_.GetDispatcherClassName(stree->GetName(), dispatcher_class, sizeof(dispatcher_class)); |
| 142 | name_render_.GetDispatcherFileName(stree->GetName(), dispatcher_file, sizeof(dispatcher_file)); |
| 143 | name_render_.GetServiceImplClassName(stree->GetName(), service_impl_class, sizeof(service_impl_class)); |
| 144 | name_render_.GetServiceImplFileName(stree->GetName(), service_impl_file, sizeof(service_impl_file)); |
| 145 | name_render_.GetServerConfigClassName(stree->GetName(), server_config_class, sizeof(server_config_class)); |
| 146 | name_render_.GetServerConfigFileName(stree->GetName(), server_config_file, sizeof(server_config_file)); |
| 147 | |
| 148 | string content; |
| 149 | if (!is_uthread_mode) { |
| 150 | content = PHXRPC_EPOLL_SERVER_MAIN_TEMPLATE; |
| 151 | } else { |
| 152 | content = PHXRPC_EPOLL_UTHREAD_SERVER_MAIN_TEMPLATE; |
| 153 | } |
| 154 | |
| 155 | StrTrim(&content); |
| 156 | StrReplaceAll(&content, "$DispatcherFile$", dispatcher_file); |
| 157 | StrReplaceAll(&content, "$DispatcherClass$", dispatcher_class); |
| 158 | StrReplaceAll(&content, "$ServiceImplFile$", service_impl_file); |
| 159 | StrReplaceAll(&content, "$ServiceImplClass$", service_impl_class); |
| 160 | StrReplaceAll(&content, "$ServerConfigFile$", server_config_file); |
| 161 | StrReplaceAll(&content, "$ServerConfigClass$", server_config_class); |
| 162 | |
| 163 | fprintf(write, "%s", content.c_str()); |
| 164 | |
| 165 | fprintf(write, "\n"); |
| 166 | fprintf(write, "\n"); |
| 167 | } |
| 168 | |
| 169 | void ServerCodeRender::GenerateServerEtc(SyntaxTree *stree, FILE *write, const bool is_uthread_mode) { |
| 170 | char etc_file[128]{'\0'}; |
no test coverage detected