コード例 #1
0
static void
other_parser_toplevel_start (OtherSAXContext *ctx,
                             const char *name,
                             const char **attrs)
{
    SAXContext *sctx = &ctx->sctx;

    if (!strcmp (name, "package")) {
        g_assert (sctx->current_package == NULL);

        ctx->state = OTHER_PARSER_PACKAGE;

        sctx->current_package = package_new ();
        parse_package (attrs, sctx->current_package);
    }

    else if (sctx->count_fn && !strcmp (name, "otherdata")) {
        int i;
        const char *attr;
        const char *value;

        for (i = 0; attrs && attrs[i]; i++) {
            attr = attrs[i];
            value = attrs[++i];

            if (!strcmp (attr, "packages")) {
                sctx->count_fn (string_to_guint32_with_default (value, 0),
                                sctx->user_data);
                break;
            }
        }
    }
}
コード例 #2
0
void Crazepony_get_uartpack(void)
{
  static int rx_cnt;
  u8 rx_da;
  rx_cnt = UartBuf_Cnt(&UartRxbuf);
  while(rx_cnt -- )
  {
    rx_da = UartBuf_RD(&UartRxbuf);
    parse_package(rx_da);
  }
}
コード例 #3
0
ファイル: ep_package.cpp プロジェクト: qunny0/easy_package
int ep_package::parse(const char* package_dir)
{
	_package_dir = package_dir;

	bool pkg_exist = dir_valid(package_dir, 0) == 0;

	if (pkg_exist)
	{

		// printf("ep_package parse %s\n", package_dir);

		return parse_package();
	}

	return 0;
}
コード例 #4
0
void package_parse(int conn)
{
	int rc;
	PCK package;
	int pack_type;
	while(1)
	{
		bzero(&package,PCK_LEN);
		rc=c_recv(sockfd,&package,PCK_LEN,0);
		if(rc>0)
			printf("package received\n");
		else if(rc==0)
		{
			printf("client closed\n");
			break;
		}
		else
		{
			perror("receive error:\n");
			exit(1);
		}

		pack_type=parse_package(&package);

		switch(pack_type)
		{
			case 1:
			user_transations();
			break;

			case 2:
			msg_transactions();
			break;

			case 3:
			chis_transations();
			break;

			default:
			break;

		}
	}
	
}