Exemplo n.º 1
0
void xml_create_by_vm2vm(char *xmlfilename)
{
	int i;
	xmlDocPtr doc = NULL;       
	xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;
	//建立根节点
	doc = xmlNewDoc(BAD_CAST "1.0");
	root_node = xmlNewNode(NULL, BAD_CAST "DATA");
	xmlNewProp(root_node,BAD_CAST"VERSION",BAD_CAST"0.1");

	xmlDocSetRootElement(doc, root_node);

	/*对没一条亲和性关系输出到XML*/
	for(i=0;i<_xpthis->sd->v2v_total;i++){

		/*生成主节点*/
		node = xmlNewNode(NULL, BAD_CAST "AFFINITY");

		/*生成AT属性*/
		xmlNewProp(node,BAD_CAST"AT",BAD_CAST _xpthis->sd->v2vlist[i].at);
		/*生成TYPE属性*/
		xmlNewProp(node,BAD_CAST"TYPE",BAD_CAST NumToChar (_xpthis->sd->v2vlist[i].affinity));

		/*生成TRAFFIC属性*/
		if(_xpthis->sd->v2vlist[i].traffic>0)
			xmlNewProp(node,BAD_CAST"TRAFFIC",BAD_CAST DoubleToChar (_xpthis->sd->v2vlist[i].traffic,0));
		else
			xmlNewProp(node,BAD_CAST"TRAFFIC",BAD_CAST " ");

		/*生成DELAY属性*/
		xmlNewProp(node,BAD_CAST"DELAY",BAD_CAST DoubleToChar (_xpthis->sd->v2vlist[i].delay,0));

		/*生成VMIDS属性*/
		xmlNewProp(node,BAD_CAST"VMIDS",BAD_CAST _xpthis->sd->v2vlist[i].vmids);

		/*
		xmlNewProp(node,BAD_CAST"DSTID",BAD_CAST NumToChar(_xpthis->sd->v2vlist[i].p_dst_vm->host.id));
		xmlNewProp(node,BAD_CAST"SRCID",BAD_CAST NumToChar(_xpthis->sd->v2vlist[i].p_src_vm->host.id));
		*/

		xmlAddChild(root_node, node);
	}

	/*生成文件*/
	xmlSaveFormatFileEnc(xmlfilename, doc, "UTF-8", 1);
	
	/*释放*/
	xmlFreeDoc(doc);
	xmlCleanupParser();

	xmlMemoryDump();
}
Exemplo n.º 2
0
void CStaticText::setText(double init)
{
	char* temp = DoubleToChar(init);
	itsText = temp;
	delete[] temp;
}
Exemplo n.º 3
0
void UI_hl(void)
{

	int currentLevel = 1;
	int level1CurrentSelection = 0;
	int level2CurrentSelection = 0;

	
	int buttonFlag = 0;
	int rotaryPressFlag = 0;
	int rotaryFlag = 0;
	
	DisplayLine ( 0, "       Manual       " );
	
	while ( 1 )
	{
		
		
		switch ( Rotary () )
		{
			
			
		case 0:			// No change
			rotaryFlag = 0;
			break;
		
		
		case 1:			// Clockwise
			if ( rotaryFlag == 1 )
				break;
			rotaryFlag = 1;
			
			
			
			switch ( currentLevel )
			{
				
				
				case 1:
					switch (level1CurrentSelection)
					{
						case 0:
							level1CurrentSelection = 1;
							DisplayLine ( 0, "      Automode      " );
							break;
						case 1:
							level1CurrentSelection = 2;
							DisplayLine ( 0, "       Bypass       " );
							break;
						case 2:
							level1CurrentSelection = 0;
							DisplayLine ( 0, "       Manual       " );
							break;
					}
					break;
					
					
					
				case 2:
					switch (level1CurrentSelection)
					{
						case 0:
							if ( level2CurrentSelection == 4 )
								level2CurrentSelection = 0;
							else
								level2CurrentSelection ++;
							switch ( level2CurrentSelection )
							{
								case 0:
									DisplayLine ( 1, "      Threshold     " );
									break;
								case 1:
									DisplayLine ( 1, "     MakeUp Gain    " );
									break;
								case 2:
									DisplayLine ( 1, "       Attack       " );
									break;
								case 3:
									DisplayLine ( 1, "      Release       " );
									break;
								case 4:
									DisplayLine ( 1, "       Ratio        " );
									break;
							}
							break;
							
							
						case 1:
							if ( autoEN == 1 )
							{
								autoEN = 0;
								DisplayLine ( 1, "      Disabled      " );
							}
							else
							{
								autoEN = 1;
								DisplayLine ( 1, "      Enabled       " );
							}	
							break;
						case 2:
							if ( bypassEN == 1 )
							{
								bypassEN = 0;
								DisplayLine ( 1, "      Disabled      " );
							}
							else
							{
								bypassEN = 1;
								DisplayLine ( 1, "      Enabled       " );
							}
							break;							
					}
					break;
					
					
					
				case 3:
					switch ( level2CurrentSelection )
					{
						case 0:
							if ( threshold == thresholdMax )
								break;
							threshold += thresholdStep;
							DisplayLine ( 2, DoubleToChar( threshold ) );
							break;
						case 1:
							if ( mug == mugMax )
								break;
							mug += mugStep;
							DisplayLine ( 2, DoubleToChar( mug ) );
							break;
						case 2:
							if ( attack == attackMax)
								break;
							attack += attackStep;
							DisplayLine ( 2, DoubleToChar( attack ) );
							break;
						case 3:
							if ( release == releaseMax )
								break;
							release += releaseStep;
							DisplayLine ( 2, DoubleToChar( release ) );
							break;
						case 4:
							if ( ratio == ratioMax )
								break;
							ratio += ratioStep;
							DisplayLine ( 2, DoubleToChar( ratio ) );
							break;
						default:
							break;
					}
				case 4:
					// No level 4, yet
					break;
				default:
					break;
			}
		case 2:			// Counter-Clockwise
			if ( rotaryFlag == 1 )
				break;
			rotaryFlag = 1;
			
			
			switch ( currentLevel )
			{
				case 1:
					switch ( level1CurrentSelection )
					{
						case 0:
							level1CurrentSelection = 2;
							DisplayLine ( 0, "       Bypass       " );
							break;
						case 1:
							level1CurrentSelection = 0;
							DisplayLine ( 0, "       Manual       " );
							break;
						case 2:
							level1CurrentSelection = 1;
							DisplayLine (0, "      Automode      " );
							
							break;
					}
					break;
				case 2:
					switch ( level1CurrentSelection )
					{
						case 0:
							if ( level2CurrentSelection == 0 )
								level2CurrentSelection = 4;
							else
								level2CurrentSelection --;
							switch ( level2CurrentSelection )
							{
								case 0:
									DisplayLine ( 1, "      Threshold     " );
									break;
								case 1:
									DisplayLine ( 1, "     MakeUp Gain    " );
									break;
								case 2:
									DisplayLine ( 1, "       Attack       " );
									break;
								case 3:
									DisplayLine ( 1, "      Release       " );
									break;
								case 4:
									DisplayLine ( 1, "       Ratio        " );
									break;
							}
							break;
						case 1:
							if ( autoEN == 1 )
							{
								autoEN = 0;
								DisplayLine ( 1, "      Disabled      " );
							}
							else
							{
								autoEN = 1;
								DisplayLine ( 1, "      Enabled       " );
							}	
							break;
						case 2:
							if ( bypassEN == 1 )
							{
								bypassEN = 0;
								DisplayLine ( 1, "      Disabled      " );
							}
							else
							{
								bypassEN = 1;
								DisplayLine ( 1, "      Enabled       " );
							}	
							break;
					}
					break;
				case 3:
					switch ( level2CurrentSelection )
					{
						case 0:
							if ( threshold == thresholdMin )
								break;
							threshold -= thresholdStep;
							DisplayLine ( 2, DoubleToChar( threshold ) );
							break;
						case 1:
							if ( mug == mugMin)
								break;
							mug -= mugStep;
							DisplayLine ( 2, DoubleToChar( mug ) );
							break;
						case 2:
							if ( attack == attackMin )
								break;
							attack -= attackStep;
							DisplayLine ( 2, DoubleToChar( attack ) );
							break;
						case 3:
							if ( release == releaseMin )
								break;
							release -= releaseStep;
							DisplayLine ( 2, DoubleToChar( release ) );
							break;
						case 4:
							if ( ratio == ratioMin )
								break;
							ratio -= ratioStep;
							DisplayLine ( 2, DoubleToChar( ratio ) );
							break;
						default:
							break;
					}
				case 4:
					// No level 4, yet
					break;
				default:
					break;
			}
		default:
			break;
		}
		
		
		/* Rotary Button code */
		
		//If flag is low and INPUT = HIGH, flag = HIGH
		if ( rotaryPressFlag == 0 )
		{
			if( GPIO_ReadInputDataBit( GPIOE, GPIO_Pin_9 ) > 0 )
			{
				rotaryPressFlag = 1;
				switch ( currentLevel )
				{
					case 1:
						currentLevel ++;
						switch ( level1CurrentSelection )
						{
							case 0:
								DisplayLine ( 1, "     Threshold      " );
								level2CurrentSelection = 0;
								break;
							case 1:
								DisplayLine ( 1, "      Disabled      " );
								break;
							case 2:
								DisplayLine ( 1, "      Disabled      " );
								break;
						}
						break;
					case 2:
						if ( level1CurrentSelection == 0 )
							currentLevel ++;
						break;
					case 3:
						// Do Nothing
						break;
				}
			}
		}
	
		//Otherwise, if flag = HIGH, wait until INPUT = LOW to reset flag
		else
		{
			if( GPIO_ReadInputDataBit( GPIOE, GPIO_Pin_9 ) == 0 )
			{
				rotaryPressFlag = 0;
			}
		}
		
		
		/* Back Button code */
		
		//If flag is low and INPUT = HIGH, flag = HIGH
		if ( buttonFlag == 0 )
		{
			if( GPIO_ReadInputDataBit( GPIOE, GPIO_Pin_10 ) > 0 )
			{
				buttonFlag = 1;
				switch ( currentLevel )
				{
					case 1:
						// Do Nothing
						break;
					case 2:
						currentLevel-- ;
						DisplayLine ( 1, "                    " );
						if ( autoEN == 1 )
							autoEN = 0;
						if ( bypassEN == 1 )
							bypassEN = 0;
						break;
					case 3:
						currentLevel-- ;
						DisplayLine ( 2, "                    " );
						break;
				}	
			}
		}
			
		//Otherwise, if flag = HIGH, wait until INPUT = LOW to reset flag
		else
		{
			if( GPIO_ReadInputDataBit( GPIOE, GPIO_Pin_10 ) == 0 )
			{
				buttonFlag = 0;
			}
		}
		
		
		
		
	}  //end while
} //end UI_hl
Exemplo n.º 4
0
void* KaiXinAPI_CommentDetail_JsonParse(char *text)
{
	cJSON *json;
	cJSON *pTemp0;
	tResponseCommentDetail*  Response = new tResponseCommentDetail;
	memset(Response, 0 , sizeof(tResponseCommentDetail));

	json = cJSON_Parse(text);

	pTemp0 = cJSON_GetObjectItem(json,"ret");
	if (pTemp0)
	{
		Response->ret = pTemp0->valueint;	
	}

	//Success
	if(Response->ret == 1)
	{
		pTemp0 = cJSON_GetObjectItem(json, "uid");
		if(pTemp0)
		{
			if(pTemp0->valueint > 0)
				sprintf(Response->uid, "%d", pTemp0->valueint );
			else
				STRCPY_Ex(Response->uid, pTemp0->valuestring);
		}
		pTemp0 = cJSON_GetObjectItem(json, "n");
		if(pTemp0)
		{
			Response->n = pTemp0->valueint;
		}
		pTemp0 = cJSON_GetObjectItem(json, "thread_cid");
		if(pTemp0)
		{
			if(pTemp0->valuedouble > 0)
				DoubleToChar(pTemp0->valuedouble, Response->thread_cid);
			else
				STRCPY_Ex(Response->thread_cid, pTemp0->valuestring);
		}
		pTemp0 = cJSON_GetObjectItem(json, "mtype");
		if(pTemp0)
		{
			if(IsNullString(pTemp0->valuestring))
				sprintf(Response->mtype, "%d", pTemp0->valueint);
			else
				STRCPY_Ex(Response->mtype, pTemp0->valuestring);			
		}
		
		pTemp0 = cJSON_GetObjectItem(json, "flogo");
		if(pTemp0)
		{
			STRCPY_Ex(Response->flogo, pTemp0->valuestring);
		}
		pTemp0 = cJSON_GetObjectItem(json, "cnum");
		if(pTemp0)
		{
			Response->cnum = pTemp0->valueint;
		}
		pTemp0 = cJSON_GetObjectItem(json, "more");
		if(pTemp0)
		{
			Response->more = pTemp0->valueint;
		}

		//new added
		pTemp0 = cJSON_GetObjectItem(json, "title");				
		if(pTemp0)
		{
			STRCPY_Ex(Response->title, pTemp0->valuestring);
		}

		pTemp0 = cJSON_GetObjectItem(json, "thumbnail");

		if(pTemp0)

		{

			STRCPY_Ex(Response->thumbnail, pTemp0->valuestring);

		}

		pTemp0 = cJSON_GetObjectItem(json, "appid");

		if(pTemp0)
		{

			STRCPY_Ex(Response->appid, pTemp0->valuestring);

		}

		pTemp0 = cJSON_GetObjectItem(json, "comments");
		if(pTemp0)
		{
			int nSize1 = 0, i = 0;
			nSize1 = cJSON_GetArraySize(pTemp0);
			Response->nSize = nSize1;
			if( nSize1 != 0 )
			{
				Response->comments = NULL;
				Response->comments = (CommentDetail_comments*) malloc(sizeof( CommentDetail_comments ) * nSize1 );
				memset(Response->comments, 0 , sizeof(CommentDetail_comments) * nSize1 );
			}
			for ( i = 0; i < nSize1; i++ )
			{
				cJSON *Item1 = NULL, *pTemp1 = NULL;
				Item1 = cJSON_GetArrayItem(pTemp0,i);
				pTemp1 = cJSON_GetObjectItem(Item1, "flogo");
				if(pTemp1)
				{
					STRCPY_Ex(Response->comments[i].flogo, pTemp1->valuestring);
				}
				pTemp1 = cJSON_GetObjectItem(Item1, "cid");
				if(pTemp1)
				{
					Response->comments[i].cid = pTemp1->valueint;
				}
				pTemp1 = cJSON_GetObjectItem(Item1, "fuid");
				if(pTemp1)
				{
					Response->comments[i].fuid = pTemp1->valueint;
				}
				pTemp1 = cJSON_GetObjectItem(Item1, "fname");
				if(pTemp1)
				{
					STRCPY_Ex(Response->comments[i].fname, pTemp1->valuestring);
				}
				pTemp1 = cJSON_GetObjectItem(Item1, "abscont");
				if(pTemp1)
				{
					STRCPY_Ex(Response->comments[i].abscont, pTemp1->valuestring);
				}
				pTemp1 = cJSON_GetObjectItem(Item1, "ctime");
				if(pTemp1)
				{
					Response->comments[i].ctime = pTemp1->valueint;
				}
				pTemp1 = cJSON_GetObjectItem(Item1, "strctime");
				if(pTemp1)
				{
					STRCPY_Ex(Response->comments[i].strctime, pTemp1->valuestring);
				}

			}
		}

	}
	//Failue
	else
	{
		//pTemp0 = cJSON_GetObjectItem(json,"msg");
		//if (pTemp0)
		//{
		//	strcpy(Response->msg, pTemp0 ->valuestring);	
		//}
	}
	cJSON_Delete(json);
	return Response;
}
Exemplo n.º 5
0
char* GetDataPPDOption(cngplpData *data, int id)
{
	char *option = NULL;

	switch(id){
	case ID_SELECTBY:
		return IntToChar(data->ppd_opt->selectby);
	case ID_JOBACCOUNT:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else{
#ifndef	__APPLE__
			return IntToChar(data->ppd_opt->special->job_account);
#else
			return ToChar(data->ppd_opt->special->job_account == 0 ? "False" : "True");
#endif
		}
	case ID_JOBACCOUNT_ID:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->job_account_id);
	case ID_JOBACCOUNT_PASSWD:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->job_account_passwd);
	case ID_CNUSRPASSWORD:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->usr_passwd);
	case ID_DATANAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return IntToChar(data->ppd_opt->special->data_name);
	case ID_ENTERNAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
#ifndef _OPAL
		return ToChar(data->ppd_opt->special->enter_name);
#else
		if(data->ppd_opt->special->enter_name == NULL){
			return ToChar("");
		}else {
			return ToChar(data->ppd_opt->special->enter_name);
		}
#endif
	case ID_BOXIDNUM:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
#ifndef __APPLE__
		return IntToChar(data->ppd_opt->special->box_num);
#else
		return ToChar(data->ppd_opt->special->box_num);
#endif
	case ID_MAX_BOXIDNUM:
		return IntToChar(data->ppd_opt->max_box_num);
	case ID_GUTTER:
		if(data->ppd_opt->summary_flag & CNSUMMARY_FLG_GUTTER)
			return NULL;
                if(data->ppd_opt->us_type)
                        return DoubleToChar(data->ppd_opt->gutter_value_d);
                else
                        return IntToChar(data->ppd_opt->gutter_value);
	case ID_MAX_GUTTER:
                if(data->ppd_opt->us_type)
                        return DoubleToChar(data->ppd_opt->max_gutter_value_d);
                else
                        return IntToChar(data->ppd_opt->max_gutter_value);
        case ID_USTYPE:
                return ToChar(data->ppd_opt->us_type == 0 ? "False" : "True");
	case ID_LIST_MEDIATYPE:
		return IntToChar(data->ppd_opt->list_mediatype_value);
  case ID_LIST_PAGESIZE:
      return IntToChar(data->ppd_opt->list_pagesize_value);
	case ID_SECURED_DOCNAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
#ifndef _OPAL
		return ToChar(data->ppd_opt->special->doc_name);
#else
		if(data->ppd_opt->special->doc_name == NULL){
			return ToChar("");
		}else {
			return ToChar(data->ppd_opt->special->doc_name);
		}
#endif
	case ID_SECURED_USRNAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->usr_name);
	case ID_SECURED_PASSWD:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->passwd_array);
	case ID_COLOR_MODE:
		return IntToChar(data->ppd_opt->color_mode);
	case ID_PRINTERTYPE:
		return IntToChar(data->ppd_opt->printer_type);
	case ID_MAX_COPIES:
		return IntToChar(data->ppd_opt->max_copy_num);
	case ID_SPECIAL_FUNC:
		return ToChar(data->ppd_opt->special != NULL ? "1" : "0");
	case ID_DOC_LENGTH:
		return IntToChar(data->ppd_opt->max_doc_length);
	case ID_DUPLEX:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
#ifdef	__APPLE__
			return MakePPDOptionList(data->ppd_opt, "Duplex");
#else
			return MakeDuplexBoolList(data->ppd_opt);
#endif
	case ID_BOOKLET:
	case ID_CNSADDLESTITCH:
	case ID_CNTRIMMING:
	case ID_CNZFOLDING:
	case ID_CNINSERTER:
	case ID_CNPUREBLACKPROCESS:
	case ID_CNPUNCHER:
	case ID_CNFOLDER:
	case ID_CNINSERTUNIT:
	case ID_CNTRIMMER:
	case ID_CNDUPLEXUNIT:
	case ID_CNSUPERSMOOTH:
	case ID_CNBACKPAPERPRINT:
	case ID_CNROTATEPRINT:
	case ID_CNCOPYSETNUMBERING:
	case ID_CNINTERLEAFSHEET:
	case ID_CNINTERLEAFPRINT:
	case ID_CNSKIPBLANK:
	case ID_CNDETECTPAPERSIZE:
	case ID_CNRGBPUREBLACKPROCESS:
	case ID_CNUSEGRAYSCALEPROFILE:
	case ID_CNLASTPAGEPRINTMODE:
	case ID_CNSET_FRONT_COVER:
	case ID_CNSET_BACK_COVER:
	case ID_CNSPECIFYNUMOFCOPIESSTACK:
	case ID_CNVFOLDING:
	case ID_CNPROPUNCHER:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
#ifdef	__APPLE__
		if(data->ppd_opt->printer_type != PRINTER_TYPE_CAPT)
		{
			switch(id){
			case ID_CNPUNCHER:
			case ID_BOOKLET:
			case ID_CNFOLDER:
			case ID_CNTRIMMER:
			case ID_CNINSERTUNIT:
			case ID_CNLASTPAGEPRINTMODE:
			case ID_CNPROPUNCHER:
				return MakePPDOptionList(data->ppd_opt, option);
			default:
				return MakePPDBoolList(data->ppd_opt, option);
			}
		}
		else {
			switch(id){
			case ID_CNSUPERSMOOTH:
				return MakePPDOptionList(data->ppd_opt, option);
			default:
				return MakePPDBoolList(data->ppd_opt, option);
			}
#endif
			return MakePPDBoolList(data->ppd_opt, option);
#ifdef	__APPLE__
		}
#endif
	case ID_CNPUNCH:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
		return MakeCNPunchBoolList(data->ppd_opt, option);
	case ID_BOOKLET_DLG:
		option = IDtoPPDOption(ID_BOOKLET - 1);
		if(option == NULL)
			return NULL;
		return MakePPDOptionList(data->ppd_opt, option);
	case ID_STARTNUM:
		return IntToChar(data->ppd_opt->startnum_value);
	case ID_USERID:
		return IntToChar(getuid());
	case ID_BACKPAPERPRINT_LABEL:
		return ToChar(GetItemString(data->ppd_opt->items_list, "CNBackPaperPrint"));
	case ID_DISABLE_JOBACCOUNT_BW:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
#ifndef	__APPLE__
			return IntToChar(data->ppd_opt->special->disable_job_account_bw);
#else
			return ToChar(data->ppd_opt->special->disable_job_account_bw == 0 ? "False:True<0>,False<0>" : "True:True<0>,False<0>");
#endif
#if !defined(__APPLE__) && !defined(_OPAL)
	case ID_SHOW_JOBACCOUNT:
		if(data->ppd_opt->special == NULL)
		{
			return NULL;
		}
		else
		{
			return IntToChar(data->ppd_opt->special->show_job_account);
		}
		break;
#endif
	case ID_SHOW_DISABLE_JOBACCOUNT_BW:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return IntToChar(data->ppd_opt->special->show_disable_job_account_bw);
	case ID_DETECTPAPER_LABEL:
		return ToChar(GetItemString(data->ppd_opt->items_list, "CNDetectPaperSize"));
	case ID_CNDPICONPICTID:
		if(data->ppd_opt->dpicon_pictid > 0)
			return IntToChar(data->ppd_opt->dpicon_pictid);
		break;
	case ID_CNENABLEFINISHFLAG:
		if(data->ppd_opt->enable_finishflag > 0)
			return IntToChar(data->ppd_opt->enable_finishflag);
		break;
	case ID_CNENABLEINPUTFLAG:
		if(data->ppd_opt->enable_inputflag > 0)
			return IntToChar(data->ppd_opt->enable_inputflag);
		break;
	case ID_CNENABLEQUALITYTYPE:
		if(data->ppd_opt->enable_qualitytype > 0)
			return IntToChar(data->ppd_opt->enable_qualitytype);
		break;
	case ID_INPUTSLOT_TYPE:
		return IntToChar(data->ppd_opt->input_slot_type);

	case ID_CNSHIFTTYPE:
		return IntToChar(data->ppd_opt->shift_pos_type);
	case ID_CNSHIFTUPWARDS:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_upwards);
			}
		}
		return IntToChar(data->ppd_opt->shift_upwards);
	case ID_CNSHIFTRIGHT:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_right);
			}
		}
		return IntToChar(data->ppd_opt->shift_right);
	case ID_CNSHIFTFRLONGEDGE:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_front_long);
			}
		}
		return IntToChar(data->ppd_opt->shift_front_long);
	case ID_CNSHIFTFRSHORTEDGE:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_front_short);
			}
		}
		return IntToChar(data->ppd_opt->shift_front_short);
	case ID_CNSHIFTBKLONGEDGE:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_back_long);
			}
		}
		return IntToChar(data->ppd_opt->shift_back_long);
	case ID_CNSHIFTBKSHORTEDGE:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_back_short);
			}
		}
		return IntToChar(data->ppd_opt->shift_back_short);
	case ID_CNSHIFTPOSITIONMAX:
		return cngplpGetValue(data,kPPD_Items_CNShiftPositionMax);
	case ID_CNSHIFTPOSITIONMIN:
		return cngplpGetValue(data,kPPD_Items_CNShiftPositionMin);
	case ID_CNJOBNOTE:
		if(data->ppd_opt->job_note == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->job_note->note);
	case ID_CNJOBDETAILS:
		if(data->ppd_opt->job_note == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->job_note->details);
	case ID_CNFINDETAILS:
      option = GetUIValue(data, kPPD_Items_CNFinDetails);
      if(option == NULL)
		return 0;
      return IntToChar((strcasecmp(option, "true") == 0) ? 1 : 0);
	case ID_CNOFFSETNUM:
		return IntToChar(data->ppd_opt->offset_num);
	case ID_CNUIOFFSETMAX:
		return cngplpGetValue(data,kPPD_Items_CNUIOffsetMax);
	case ID_CNGUTTERSHIFTNUM:
		return DoubleToChar2(data->ppd_opt->guttershiftnum_value_d);

	case ID_MAX_GUTTER_SHIFT_NUM:
		return cngplpGetValue(data,kPPD_Items_CNMAXGutterShiftNum);
	case ID_MIN_GUTTER_SHIFT_NUM:
		return cngplpGetValue(data,kPPD_Items_CNMINGutterShiftNum);
	case ID_CNTABSHIFT:
		return DoubleToChar(data->ppd_opt->tab_shift);
	case ID_DRIVERROOTPATH:
		if(data->ppd_opt->drv_root_path == NULL)
			return NULL;
		else
			return ToChar(data->ppd_opt->drv_root_path);
	case ID_CNMEDIABRANDLIST:
		return MakeMediaBrandListChar(data->ppd_opt);
	case ID_CNMEDIABRAND:
		return MakeMediaBrandChar(data->ppd_opt);
	case ID_CNINSERTMEDIABRANDLIST:
		return MakeInsertMediaBrandListChar(data->ppd_opt);
	case ID_CNINSERTMEDIABRAND:
		return MakeInsertMediaBrandChar(data->ppd_opt);
	case ID_CNINTERLEAFMEDIABRANDLIST:
		return MakeInterleafMediaBrandListChar(data->ppd_opt);
	case ID_CNINTERLEAFMEDIABRAND:
		return MakeInterleafMediaBrandChar(data->ppd_opt);
	case ID_CNPBINDCOVERMEDIABRANDLIST:
		return MakePBindCoverMediaBrandListChar(data->ppd_opt);
	case ID_CNPBINDCOVERMEDIABRAND:
		return MakePBindCoverMediaBrandChar(data->ppd_opt);
	case ID_CNINSERTTABSHIFT:
		return DoubleToChar(data->ppd_opt->ins_tab_shift);
	case ID_CNINSERTPOS:
		return ToChar(data->ppd_opt->ins_pos);
	case ID_CNINSERTPOSPAPERSOURCE:
		return ToChar(data->ppd_opt->ins_pos_papersource);
	case ID_CNINSERTPOSPRINTON:
		return ToChar(data->ppd_opt->ins_pos_printon);
	case ID_CNTABINSERTPOS:
		return ToChar(data->ppd_opt->tab_ins_pos);
	case ID_CNTABINSERTPOSPAPERSOURCE:
		return ToChar(data->ppd_opt->tab_ins_pos_papersource);
	case ID_CNTABINSERTPOSPRINTON:
		return ToChar(data->ppd_opt->tab_ins_pos_printon);
	case ID_CNTABINSERTMULTIPAPERNUMBER:
		return IntToChar(data->ppd_opt->tab_ins_multi_number);
	case ID_CNTABINSERTMULTIPAPERSOURCE:
		return ToChar(data->ppd_opt->tab_ins_multi_papersource);
	case ID_CNTABINSERTMULTIPAPERTYPE:
		return ToChar(data->ppd_opt->tab_ins_multi_papertype);
	case ID_CNBINNAME:
		return ToChar(data->ppd_opt->bin_name);
	case ID_CNBINNAME_ARRAY:
		return ToChar(data->ppd_opt->bin_name_array);
	case ID_CNOVERLAYFILENAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->form_name);
	case ID_CNFORMHANDLE:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->form_handle);
	case ID_CNFORMLIST:
		return MakeFormListChar(data->ppd_opt);
	case ID_CNADJUSTTRIMNUM:
		return DoubleToChar(data->ppd_opt->adjust_trim_num);
	case ID_CNUITRIMVALMAX:
		return cngplpGetValue(data, kPPD_Items_CNUITrimValMax);
	case ID_CNUITRIMVALMIN:
		return cngplpGetValue(data, kPPD_Items_CNUITrimValMin);
	case ID_CNADJUSTFORETRIMNUM:
		return DoubleToChar(data->ppd_opt->adjust_frtrim_num);
	case ID_CNADJUSTTOPBOTTOMTRIMNUM:
		return DoubleToChar(data->ppd_opt->adjust_tbtrim_num);
	case ID_CNPBINDFINISHFORETRIMNUM:
		return DoubleToChar(data->ppd_opt->pb_fin_fore_trim_num);
	case ID_CNPBINDFINISHTOPBOTTOMTRIMNUM:
		return DoubleToChar(data->ppd_opt->pb_fin_topbtm_trim_num);
	case ID_CNSENDTIMENUM:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->send_time);
	case ID_CNOUTSIDELINENUMBER:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number);
	case ID_CNOUTSIDELINENUMINTRA:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number_intra);
	case ID_CNOUTSIDELINENUMNGN:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number_ngn);
	case ID_CNOUTSIDELINENUMMYNUMBERNGN:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number_ngnmynum);
	case ID_CNOUTSIDELINENUMVOIP:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number_voip);
	case ID_CNSENDER:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
			return ToChar(data->ppd_opt->fax_setting->sender_name);
	case ID_HOLD_NAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->hold_name);
	case ID_HOLDQUEUE_DATANAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return IntToChar(data->ppd_opt->special->holddata_name);
	case ID_CNFEEDPAPERNAME:
		if(data->ppd_opt->feed_paper_name == NULL)
			return NULL;
		else
			return ToChar(data->ppd_opt->feed_paper_name);
	case ID_CNSADDLESETTING:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
		return MakeCNSaddleSettingList(data->ppd_opt, option);
	case ID_CNSTACKCOPIESNUM:
		return IntToChar(data->ppd_opt->stack_copies_num);
	case ID_CNSADDLEPRESSADJUSTMENT:
		return IntToChar(data->ppd_opt->saddle_press_adjust);
	case ID_CNLISTIDSPECIALPRINTMODE:
		return IntToChar(data->ppd_opt->list_specialprintmode_value);
#ifndef	__APPLE__
	case ID_ENABLECNOFFSETNUM:
		return ToChar(GetUIValue(data, "EnableCNOffsetNum"));
	case ID_CNFOLDSETTING:
		option = IDtoPPDOption(id - 1);
		if(option == NULL){
			return NULL;
		}
		return MakeCNFoldSettingList(data->ppd_opt, option);
	case ID_CNPRINTSTYLE:
		option = IDtoPPDOption(id - 1);
		if(option == NULL){
			return NULL;
		}
		return MakeCNPrintStyleList(data->ppd_opt, option);
#endif
	case ID_PCFILENAME:
		return ToChar(data->ppd_opt->pcfile_name);
	case ID_MANUFACTURER:
		return ToChar(data->ppd_opt->manufacturer);
	case ID_NICKNAME:
		return ToChar(data->ppd_opt->nickname);
	case ID_CNPDLTYPE:
		return ToChar(data->ppd_opt->cnpdl_type);
	case ID_APPRINTERICONPATH:
		return ToChar(data->ppd_opt->ap_printer_icon_path);
	case ID_CONFLICTCNOFFSETNUM:
		return IntToChar(GetOffsetNumConflict(data));
	case ID_ENABLEINSERTPOSPAPERSOURCE:
		return MakeEnableInsertPosPaperSource(data, 0);
	case ID_ENABLETABINSERTPOSPAPERSOURCE:
		return MakeEnableInsertPosPaperSource(data, 1);
	default:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
		return MakePPDOptionList(data->ppd_opt, option);
	}

	return NULL;
}
Exemplo n.º 6
0
/*
 * 函数名 : void xml_create_by_pms_vms()
 * 功能 : 将物理机及虚拟机信息生成xml文档:xml2.xml
 * 传入参数 : xmlfilename 为生成的文件名
 * 返回值 :无
 * @created by 贾俊伟 in 2013.5.12
 * @Modified by Jianhai in 2013-05-13
 */
void xml1_create(char *xmlfilename)
{ 
	int i,j;
	
	char strBuf[30];

	xmlDocPtr doc = NULL;       
	xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;

	/*建立根节点*/
	doc = xmlNewDoc(BAD_CAST "1.0");
	root_node = xmlNewNode(NULL, BAD_CAST "DATA");
	xmlNewProp(root_node,BAD_CAST"VERSION",BAD_CAST"0.3");

	xmlDocSetRootElement(doc, root_node);

	
	/////////////////////////////////////////////////////////////////
	/*生成框FRAME信息*/

	for(i=0;i<_xpthis->sd->fr_total;i++){
	
		/*生成FRAME元素*/
		node = xmlNewNode(NULL, BAD_CAST "FRAME");
		
		/*加入FRAME的PMIDS属性*/
		xmlNewProp(node,BAD_CAST"PMIDS",BAD_CAST _xpthis->sd->framelist[i].pmids);

		/*加入FRAME的ID属性*/
		xmlNewProp(node,BAD_CAST"ID",BAD_CAST _xpthis->sd->framelist[i].sid);
		
		
		xmlAddChild(root_node, node);
	}
	
	/*组GROUPxin*/
	for(i=0;i<_xpthis->sd->gr_total;i++){
	
		/*生成GROUP元素*/
		node = xmlNewNode(NULL, BAD_CAST "GROUP");
		
		/*加入GROUP的PMIDS属性*/
		xmlNewProp(node,BAD_CAST"PMIDS",BAD_CAST _xpthis->sd->pmglist[i].pmids);

		/*加入GROUP的ID属性*/
		xmlNewProp(node,BAD_CAST"ID",BAD_CAST _xpthis->sd->pmglist[i].sid);
		
		xmlAddChild(root_node, node);
	}

	/////////////////////////////////////////////////////////////////
	/*物理机输出*/
	for(i=0;i<_xpthis->sd->pm_total;i++){
		
		/*生成PM元素*/
		node = xmlNewNode(NULL, BAD_CAST "PM");
		
		/*加入PM的STAT属性*/
 		sprintf(strBuf,"%d",(int)_xpthis->sd->pmlist[i].host.stat);
		xmlNewProp(node,BAD_CAST"STAT",BAD_CAST strBuf); 


		/*所在GROUP*/
		//sprintf(strBuf,"%d",(int)_xpthis->sd->pmlist[i].group_id);
		xmlNewProp(node,BAD_CAST"GR",BAD_CAST _xpthis->sd->pmlist[i].at_gr_ids);
		
		/*所在FRAME*/
		//sprintf(strBuf,"%d",(int)_xpthis->sd->pmlist[i].frame_id);
		xmlNewProp(node,BAD_CAST"FR",BAD_CAST _xpthis->sd->pmlist[i].at_fr_sid);
		
		/*加入PM的IP属性*/
		xmlNewProp(node,BAD_CAST"IP",BAD_CAST _xpthis->sd->pmlist[i].host.ip);
		
		
		
		/*加入PM的ID属性*/
		//itoa(_xpthis->sd->pmlist[i].host.id,strBuf,10);
		//sprintf(strBuf,"%d",(int)_xpthis->sd->pmlist[i].host.id);
		xmlNewProp(node,BAD_CAST"ID",BAD_CAST _xpthis->sd->pmlist[i].host.sid);
		

		xmlAddChild(root_node, node);

		/*生成METRIC元素*/
		for(j=0;j<DIM;j++){
			node1 = xmlNewNode(NULL,BAD_CAST"METRIC");
			
			/*指标值 预留*/
			xmlNewProp (node1,BAD_CAST"RESERVED",BAD_CAST DoubleToChar(_xpthis->sd->pmlist[i].host.load[j].reserved,2));
			/*指标值 总量*/
			xmlNewProp (node1,BAD_CAST"TOTAL",BAD_CAST DoubleToChar(_xpthis->sd->pmlist[i].host.load[j].total,2));
			/*指标值 已用量*/
			xmlNewProp (node1,BAD_CAST"USED",BAD_CAST DoubleToChar(_xpthis->sd->pmlist[i].host.load[j].used,2));
			
			/*新增METRIC属性enum MetricName {CPU = 0, MEM, DISKIO, FPGA, ETH0, ETH1, ETH2, ETH3, SUM, MAX, MIN};*/
			switch(j){
			case CPU:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"cpu");
				break;

			case MEM:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"mem");
				break;

			case DISKIO:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"diskio");
				break;

			case FPGA:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"fpga");
				break;

			case ETH0:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"eth0");
				break;
			case ETH1:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"eth1");
				break;

			case ETH2:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"eth2");
				break;

			case ETH3:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"eth3");
				break;
			}

			xmlAddChild(node,node1);
		}
	}

	/////////////////////////////////////////////////////////////////
	/*虚拟机输出*/
	for(i=0;i<_xpthis->sd->vm_total;i++){

		node = xmlNewNode(NULL, BAD_CAST "VM");
		//		xmlNewProp(node,BAD_CAST"STAT",BAD_CAST NumToChar(g_vmlist[i].stat));    没有stat的值
		/*所在PM*/		
		xmlNewProp(node,BAD_CAST"AT",BAD_CAST _xpthis->sd->pmlist[_xpthis->sd->vmlist[i].at].host.sid);

		
		/*加入VM的STAT属性*/
 		xmlNewProp(node,BAD_CAST"STAT",BAD_CAST NumToChar(_xpthis->sd->vmlist[i].host.stat));

		/*IP*/	
		xmlNewProp(node,BAD_CAST"IP",BAD_CAST _xpthis->sd->vmlist[i].host.ip);
	
		/*加入ID属性*/
		xmlNewProp(node,BAD_CAST"ID",BAD_CAST _xpthis->sd->vmlist[i].host.sid);
		

		xmlAddChild(root_node, node);

		for(j=0;j<DIM;j++){

			/*METRIC*/
			node1=xmlNewNode(NULL,BAD_CAST"METRIC");
			
			/*TOTAL属性*/
			xmlNewProp(node1,BAD_CAST"TOTAL",BAD_CAST DoubleToChar(_xpthis->sd->vmlist[i].host.load[j].total,2));
			
			/*USED属性*/
			xmlNewProp(node1,BAD_CAST"USED",BAD_CAST DoubleToChar(_xpthis->sd->vmlist[i].host.load[j].used,2));


			/*新增METRIC属性enum MetricName {CPU = 0, MEM, DISKIO, FPGA, ETH0, ETH1, ETH2, ETH3, SUM, MAX, MIN};*/
			switch(j){
			case CPU:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"cpu");
				break;

			case MEM:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"mem");
				break;

			case DISKIO:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"diskio");
				break;

			case FPGA:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"fpga");
				break;

			case ETH0:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"eth0");
				break;
			case ETH1:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"eth1");
				break;

			case ETH2:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"eth2");
				break;

			case ETH3:
				xmlNewProp(node1,BAD_CAST"NAME",BAD_CAST"eth3");
				break;
			}

	
			xmlAddChild(node,node1);
		}
	}

	/*保存输出到文件*/
	xmlSaveFormatFileEnc(xmlfilename, doc, "UTF-8", 1);
	
	/*释放*/
	xmlFreeDoc(doc);
	
	xmlCleanupParser();
	xmlMemoryDump();
}
Exemplo n.º 7
0
/*生成网络拓扑XML21 cjh add 7.28*/
void xml_create_by_pm2pm_treetopo(char *xmlfilename)
{
	int i;
	pm2swPtr p_ps;
	sw2swPtr p_ss;
	swPtr p_sw;
	xmlDocPtr doc = NULL;       
	xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;
	//建立根节点
	doc = xmlNewDoc(BAD_CAST "1.0");
	root_node = xmlNewNode(NULL, BAD_CAST "DATA");
	xmlNewProp(root_node,BAD_CAST"VERSION",BAD_CAST"0.1");

	xmlDocSetRootElement(doc, root_node);

	/*---1.生成SWITCH列表---------------*/
	

	/*对每一个SWITHC输出到XML21*/
	for(i=0;i<_xpthis->sd->sw_total;i++){
		
		p_sw=&_xpthis->sd->swlist[i];
		
		/*生成id属性*/
		xmlNewProp(node,BAD_CAST"ID",BAD_CAST p_sw->sid);

		//printf(" ---%s ---\n",p_sw->sid);

		/*生成主节点*/
		node = xmlNewNode(NULL, BAD_CAST "SW");

		/*生成LEVEL属性*/
		xmlNewProp(node,BAD_CAST"LEV",BAD_CAST NumToChar(p_sw->level));

		/*端口个数属性*/
		xmlNewProp(node,BAD_CAST"PORTNUM",BAD_CAST "24");
		
		xmlAddChild(root_node, node);
	
	}


	/*对每一个PM2SW连接关系输出到XML21*/
	
	for(i=0;i<_xpthis->sd->p2s_total;i++){
		p_ps=&_xpthis->sd->p2slist[i];
		/*生成主节点*/
		node = xmlNewNode(NULL, BAD_CAST "P2S");

		
	
		
		/*生成delay属性*/
		xmlNewProp(node,BAD_CAST"DELAY",BAD_CAST DoubleToChar(p_ps->delay,0));

		/*生成BANDWIDTH属性*/
		if(_xpthis->sd->p2slist[i].bandwidth>0)
			xmlNewProp(node,BAD_CAST"BW",BAD_CAST DoubleToChar (p_ps->bandwidth,0));
		else
			xmlNewProp(node,BAD_CAST"BW",BAD_CAST "");
		
		
		/*生成DST: SWITCH SID属性*/
		xmlNewProp(node,BAD_CAST"DPORT",BAD_CAST NumToChar(p_ps->swithch_port));


		/*生成DST: SWITCH SID属性*/
		xmlNewProp(node,BAD_CAST"DST",BAD_CAST p_ps->switch_sid);

		/*生成SRC: PMSID属性*/
		xmlNewProp(node,BAD_CAST"SPORT",BAD_CAST NumToChar( p_ps->port_id));

		/*生成SRC: PMSID属性*/
		xmlNewProp(node,BAD_CAST"SRC",BAD_CAST p_ps->pm_sid);


		/*生成ID属性:PS(pm2sw), SS(sw2sw)*/
		xmlNewProp(node,BAD_CAST"ID",BAD_CAST NumToChar( p_ps->id));
		

		xmlAddChild(root_node, node);
	}


	/*对每一个SW2SW连接关系输出到XML21*/
	for(i=0;i<_xpthis->sd->s2s_total;i++){
		p_ss=&_xpthis->sd->s2slist[i];
		/*生成主节点*/
		node = xmlNewNode(NULL, BAD_CAST "S2S");

		
		/*生成delay属性*/
		xmlNewProp(node,BAD_CAST"DELAY",BAD_CAST DoubleToChar(p_ss->delay,0));

		/*生成BANDWIDTH属性*/
		if(_xpthis->sd->s2slist[i].bandwidth>0)
			xmlNewProp(node,BAD_CAST"BW",BAD_CAST DoubleToChar (p_ss->bandwidth,0));
		else
			xmlNewProp(node,BAD_CAST"BW",BAD_CAST "");


		/*生成DST: SWITCH SID属性*/
		xmlNewProp(node,BAD_CAST"DST",BAD_CAST p_ss->p_dst_sw->sid);

		/*生成SRC: PMSID属性*/
		xmlNewProp(node,BAD_CAST"SRC",BAD_CAST p_ss->sw_src_sid);

		/*生成ID属性:PS(pm2sw), SS(sw2sw)*/
		xmlNewProp(node,BAD_CAST"ID",BAD_CAST NumToChar(p_ss->id));
		
		xmlAddChild(root_node, node);
	}



	/*生成文件*/
	xmlSaveFormatFileEnc(xmlfilename, doc, "UTF-8", 1);
	
	/*释放*/
	xmlFreeDoc(doc);
	xmlCleanupParser();

	xmlMemoryDump();

}
Exemplo n.º 8
0
// 窗口事件处理
Boolean TGuestbookGetForm::EventHandler(TApplication * pApp, EventType * pEvent)
{
	Boolean bHandled = FALSE;

	switch (pEvent->eType)
	{
			//窗口创建
		case EVENT_WinInit:
			{
				_OnWinInitEvent(pApp, pEvent);
				bHandled = TRUE;
			}
			break;
		
			//窗口关闭
		case EVENT_WinClose:
			{
				_OnWinClose(pApp, pEvent);
			}
			break;
		
			//点击控件
		case EVENT_CtrlSelect:
			{
				bHandled = _OnCtrlSelectEvent(pApp, pEvent);
			}
			break;
		
			//控件获取焦点
		case EVENT_CtrlSetFocus:
			{
				bHandled = _OnCtrlSetFocusEvent(pApp, pEvent);
			}
			break;
			
			//控件丢失焦点
		case EVENT_CtrlKillFocus :
			{
				bHandled = _OnCtrlKillFocusEvent(pApp, pEvent);
			}
			break;
			
			//输入框内容变化
		case EVENT_FieldChanged:
			{
				_OnFldChangedEvent(pApp, pEvent);
				bHandled = TRUE;
			}
			break;
			
			//窗口的背景
		case EVENT_WinEraseClient:
			{
				TDC dc(this);
				WinEraseClientEventType *pEraseEvent = reinterpret_cast< WinEraseClientEventType* >( pEvent );
				TRectangle rc(pEraseEvent->rc);
				dc.SetBackColor(RGB_COLOR_FORM_BACKGROUND);
				dc.EraseRectangle(&rc, 0);
				dc.DrawBitmapsH(TResource::LoadConstBitmap(APP_RE_ID_BITMAP_title_bg), 0, 0, SCR_W,GUI_API_STYLE_ALIGNMENT_LEFT);


				if(m_FormMode == FORM_MODE_MYHOME)
					dc.DrawBitmapsH(TResource::LoadConstBitmap(APP_RE_ID_BITMAP_Bottom_btn_bg), 0, BOTTOM_TAB_Y, SCR_W,GUI_API_STYLE_ALIGNMENT_LEFT);	
			
				pEraseEvent->result = 1;				
				bHandled = TRUE;
			}
			break;

			// 右软键事件 
		case EVENT_KeyCommand: 
			{ 
				if( pEvent->sParam1 == SYS_KEY_SOFTKEY_RIGHT_UP || pEvent->sParam1 == SYS_KEY_SOFTKEY_RIGHT_LONG ) 
				{ 
					// 模拟标题栏右按钮选中消息 
					HitControl(m_TitleBtnRight); 
					bHandled = TRUE; 
				} 
			} 
			break;
			
			//下载完成事件
		case MSG_DL_THREAD_NOTIFY:
			{
				NotifyMsgDataType notifyData;
				Sys_GetMessageBody((MESSAGE_t *)pEvent, &notifyData, sizeof(NotifyMsgDataType));				
				bHandled = TRUE;
				switch(notifyData.nAccessType)
				{
					case RR_PhotoDownload:
					{

						if(notifyData.nParam == FEED_PROFILE_IMAGE_INDEX)
						{	
							//下载完后更新对应的图片
							TBitmap* pDownLoadBitmap = NULL;
							pDownLoadBitmap = LoadImgByPath(notifyData.pszFilePath);

							if(pDownLoadBitmap)
							{
								TMaskButton* pLogo = NULL;
								pLogo = static_cast<TMaskButton*>(GetControlPtr(m_ProfileImageID));
								if(pLogo)
								{
									TRectangle rc;							
									pLogo->GetBounds(&rc);
									if( pProfileImage != NULL)
									{
										pProfileImage->Destroy();
										pProfileImage = NULL; 							
									}
										
									pProfileImage = TBitmap::Create(RR_HEAD_W, RR_HEAD_W, pDownLoadBitmap->GetDepth());
									pProfileImage->QuickZoom(pDownLoadBitmap, TRUE, TRUE,RGBA(0,0,0,255));
									pLogo->SetCaption(TUSTR_Re_NULL,0,0);
									pLogo->SetImage(pProfileImage, (rc.Width()-pProfileImage->GetWidth())/2, (rc.Height()-pProfileImage->GetHeight())/2);										pLogo->Draw();
								}				

								//释放图片
								pDownLoadBitmap->Destroy();
								pDownLoadBitmap = NULL; 						
							}	
							break;
						}

						
						if( gItemData[notifyData.nParam].pBmp != NULL)
						{
							gItemData[notifyData.nParam].pBmp->Destroy();
							gItemData[notifyData.nParam].pBmp = NULL;									
						}

						if( gItemData[notifyData.nParam].pBmpZoom!= NULL)
						{
							gItemData[notifyData.nParam].pBmpZoom->Destroy();
							gItemData[notifyData.nParam].pBmpZoom = NULL;									
						}
						
						gItemData[notifyData.nParam].pBmp= LoadImgByPath(notifyData.pszFilePath);
						if(gItemData[notifyData.nParam].pBmp != NULL)
						{
							TMaskButton* pMyHeadMBtn = static_cast<TMaskButton*>(GetControlPtr(gItemData[notifyData.nParam].HeadMaskButtonID));
							if(pMyHeadMBtn != NULL)
							{
								gItemData[notifyData.nParam].pBmpZoom = gItemData[notifyData.nParam].pBmp->Create(HEADPHOTO_W, HEADPHOTO_H, 32);
								gItemData[notifyData.nParam].pBmpZoom->QuickSpecialZoom(gItemData[notifyData.nParam].pBmp, 0, 0);

								pMyHeadMBtn->SetImage(gItemData[notifyData.nParam].pBmpZoom, (HEADMASKBUTTON_W - gItemData[notifyData.nParam].pBmpZoom->GetWidth())/2, (HEADMASKBUTTON_H - gItemData[notifyData.nParam].pBmpZoom->GetHeight())/2 );
								pMyHeadMBtn->Draw();
							}
						}
						break;
					}

					case RR_GuestbookPost:
					{
						pApp->MessageBox(TResource::LoadConstString(APP_RE_ID_STRING_Success), TResource::LoadConstString(APP_RE_ID_STRING_SendComment), WMB_OK);
						RenRenAPICommon_Download(RR_GuestbookGet, this->GetWindowHwndId(), 0, m_FormMode);
						break;
					}

					case RR_UsersGetInfoPhoto:
						{
							tResponseUsersGetInfo* Response = NULL;
							RenRenAPI_JsonParse(RR_UsersGetInfoPhoto, (void **)&Response);
							if(Response)
							{
								_UpdateProfilePhoto(pApp, Response);
								delete Response;
								Response = NULL;
							}
						}
					break;					
					default:
						break;
				}
			}
			break;
		case MSG_POST_THREAD_NOTIFY:
		{
				PostNotifyMsgDataType notifyData;
				Sys_GetMessageBody((MESSAGE_t *)pEvent, &notifyData, sizeof(PostNotifyMsgDataType));
			
				//if(notifyData.nEditType == NewBlogEdit)
				{	
					char* uid = Get_Url_Params(RR_GuestbookGet, "uid");
					Set_Url_Params(RR_GuestbookPost, "uid", uid);
					Set_Url_Params(RR_GuestbookPost, "content", (char*)notifyData.pszEditContent);	
					//留言是否为悄悄话,1表示是,0表示否,缺省值为0
					if(notifyData.bPrivacy == TRUE)
						Set_Url_Params(RR_GuestbookPost, "type", "1");
					else
						Set_Url_Params(RR_GuestbookPost, "type", "0");


					//回复他人的留言需要传rid
					if(bReply)
					{	
						char rid[64] = {0};
						sprintf(rid, "%d", gItemData[m_SelectReplyItem].uid);
						Set_Url_Params(RR_GuestbookPost, "rid", rid);
						
					}
					else
					{		
						Set_Url_Params(RR_GuestbookPost, "rid", "");
					}

					//当回复公共主页的留言时需要传reply_gossip_id
					//TUChar sID[64]={0};
					//Char id[64]={0};
					//TUString::StrI64ToA(sID,(Int64)gItemData[m_SelectReplyItem].id);
					//TUString::StrUnicodeToStrUtf8(id,sID);
					char id[64] = {0};
					DoubleToChar(gItemData[m_SelectReplyItem].id, id);
					Set_Url_Params(RR_GuestbookPost, "reply_gossip_id", (char*)id);
				
					RenRenAPICommon_Download(RR_GuestbookPost, this->GetWindowHwndId(), 0, 0);		
				}			
				bHandled = TRUE;
			break;
		}
		default:
			break;
	}

	if (!bHandled)
	{
		bHandled = TWindow::EventHandler(pApp, pEvent);
	}

	return bHandled;
}
Exemplo n.º 9
0
// 控件点击事件处理
Boolean TFeedGetFangleForm::_OnCtrlSelectEvent(TApplication * pApp, EventType * pEvent)
{
	Boolean bHandled;
	bHandled = FALSE;
	Int32 nCtrlID = pEvent->sParam1;

	if(m_TitleBtnRight == nCtrlID)
	{
		bHandled = TRUE; 
		this->CloseWindow();
		return bHandled;
	}
	else if(m_TitleBtnLeft == nCtrlID)
	{
		bHandled = TRUE; 		
		return bHandled;
	}
	else if(APP_RE_ID_CommonListForm_CommonCoolBarList == nCtrlID)
	{
		TBarListItem* pListItem = NULL;
		Int32 Index = 0;
		char cbuf[50] = {0};
		TUChar Tbuf[50] = {0};
		pListItem = (TBarListItem*)(pEvent->lParam3);
		Index = pListItem->GetIndex();

		//设为已读
		char szType[16] = {0};
		char szSourceID[50] = {0};

		sprintf(szType, "%d", Response->Array[Index].type);
		DoubleToChar(Response->Array[Index].source_id, szSourceID);
		
		Set_Url_Params(RR_FeedReadFangle, "source_id",szSourceID);
		Set_Url_Params(RR_FeedReadFangle, "type", szType);
		RenRenAPICommon_Download(RR_FeedReadFangle, this->GetWindowHwndId(), 0, 0);
					
		switch(Response->Array[Index].type)
		{	
			case USERBLOG_COMMENT:
				{
					DoubleToChar(Response->Array[Index].object_id, cbuf);
					Set_Url_Params(RR_BlogGetComments, "id", cbuf);

					sprintf(cbuf, "%d", Response->Array[Index].owner_id);
					Set_Url_Params(RR_BlogGetComments, "uid", cbuf);

					Set_Url_Params(RR_BlogGetComments, "page", "1");
					Index = Index + 1;
					RenRenAPICommon_Download(RR_BlogGetComments, this->GetWindowHwndId(), 0, Index);

					bHandled = TRUE; 	
				}
				break;
			case USERPHOTO_COMMENT:
				{
					DoubleToChar(Response->Array[Index].object_id, cbuf);
					Set_Url_Params(RR_PhotosGetComments, "pid", cbuf);

					TUString::StrIToA(Tbuf, Response->Array[Index].owner_id);
					TUString::StrUnicodeToStrUtf8((Char *)cbuf, (const TUChar*)Tbuf);
					
					Set_Url_Params(RR_PhotosGetComments, "uid", cbuf);
					Set_Url_Params(RR_PhotosGetComments, "aid", "");
					Set_Url_Params(RR_PhotosGetComments, "order", "1");
					Set_Url_Params(RR_PhotosGetComments, "page", "1");
					RenRenAPICommon_Download(RR_PhotosGetComments, this->GetWindowHwndId(), 0, 0); 		
					bHandled = TRUE; 		
					return bHandled;	
				}
				break;
			case USERGUESTBOOK_COMMENT:
				{
					Set_Url_Params(RR_GuestbookGet, "uid", RenRenUserInfo.szuid);
					RenRenAPICommon_Download(RR_GuestbookGet, this->GetWindowHwndId(), 0, 0); 	
					bHandled = TRUE; 	
				}
				break;
			case SOMEONEBLOG_COMMENT:
				{
					bHandled = TRUE; 	
				}
				break;
				case SOMEONEPHOTO_COMMENT:
				{
					bHandled = TRUE; 	
				}
				break;
			case SOMEONEGUESTBOOK_COMMENT:
				{
					bHandled = TRUE; 	
				}
				break;
			case USERSTATUS_COMMENT:
				{
					DoubleToChar(Response->Array[Index].object_id, cbuf);
					Set_Url_Params(RR_StatusGetComment, "status_id", cbuf);

					TUString::StrIToA(Tbuf, Response->Array[Index].owner_id);
					TUString::StrUnicodeToStrUtf8((Char *)cbuf, (const TUChar*)Tbuf);
					Set_Url_Params(RR_StatusGetComment, "owner_id", cbuf);

					Set_Url_Params(RR_StatusGetComment, "order", "1");
					RenRenAPICommon_Download(RR_StatusGetComment, this->GetWindowHwndId(), 0, 0);
					bHandled = TRUE; 	
				}
				break;
			case USERALBUM_COMMENT:
				{
					DoubleToChar(Response->Array[Index].object_id, cbuf);
					Set_Url_Params(RR_PhotosGetComments, "aid", cbuf);

					TUString::StrIToA(Tbuf, Response->Array[Index].owner_id);
					TUString::StrUnicodeToStrUtf8((Char *)cbuf, (const TUChar*)Tbuf);
					Set_Url_Params(RR_PhotosGetComments, "uid", cbuf);
					
					Set_Url_Params(RR_PhotosGetComments, "pid", "");
				
					Set_Url_Params(RR_PhotosGetComments, "order", "1");
					Set_Url_Params(RR_PhotosGetComments, "page", "1");
					RenRenAPICommon_Download(RR_PhotosGetComments, this->GetWindowHwndId(), 0, 0); 		
					bHandled = TRUE; 		
					return bHandled;	
					bHandled = TRUE; 	
				}
				break;
			default:
				break;
		}
		bHandled = TRUE; 
		return bHandled;
	}

	switch(nCtrlID)
	{
		case APP_RE_ID_TestForm_Test01:
			{
				bHandled = TRUE; 	
			}
			break;
		default:
			break;
	}

	return bHandled;
}