コード例 #1
0
ファイル: explorer.c プロジェクト: hideout/c-beam
void
explorerAddReader(
                int                     readerNumber
                )
{
    char                numberString[20];
    int                 tagNum;
    GtkTreeIter         readerIter, nameIter, driverIter, SAMIter, SAMIDIter, SAMSerialIter, tagListIter;

    sprintf( numberString, "Reader %d", readerNumber );

    gtk_tree_store_insert( store, &readerIter, &rootIter, readerNumber );  /* Acquire a child iterator */

    /* if we are currently connected to this reader then we can show info */
    if ( readerManager.readers[readerNumber].hCard != NULL )
    {
        gtk_tree_store_set( store, &readerIter,
                            OBJECT_COLUMN, numberString,
                            DESCRIPTION_COLUMN, "Connected", -1);

        /***************** NAME **********************/
        gtk_tree_store_append( store, &nameIter, &readerIter );
        gtk_tree_store_set( store, &nameIter,
                        OBJECT_COLUMN, "Name/Firmware",
                        DESCRIPTION_COLUMN, readerManager.readers[readerNumber].name, -1);

        /***************** DRIVER **********************/
        gtk_tree_store_append( store, &driverIter, &readerIter );
        gtk_tree_store_set( store, &driverIter,
                            OBJECT_COLUMN, "Driver",
                            DESCRIPTION_COLUMN, readerManager.readers[readerNumber].driverDescriptor, -1);

        /******************** SAM **********************/
        gtk_tree_store_append( store, &SAMIter, &readerIter );
        /* if there is a SAM present then show it's details */
        if ( readerManager.readers[readerNumber].SAM )
        {
            gtk_tree_store_set( store, &SAMIter,
                                OBJECT_COLUMN, "SAM",
                                DESCRIPTION_COLUMN, "Present", -1);

            gtk_tree_store_append( store, &SAMIDIter, &SAMIter );
            gtk_tree_store_set( store, &SAMIDIter,
                                OBJECT_COLUMN, "ID",
                                DESCRIPTION_COLUMN, readerManager.readers[readerNumber].SAM_id, -1);

            gtk_tree_store_append( store, &SAMSerialIter, &SAMIter );
            gtk_tree_store_set( store, &SAMSerialIter,
                                OBJECT_COLUMN, "Serial",
                                DESCRIPTION_COLUMN, readerManager.readers[readerNumber].SAM_serial, -1);
        }
        else
            gtk_tree_store_set( store, &SAMIter,
                                OBJECT_COLUMN, "SAM",
                                DESCRIPTION_COLUMN, "No SAM present", -1);

        /******************** TAGS **********************/
        sprintf( numberString, "%d tags", readerManager.readers[readerNumber].tagList.numTags);
        gtk_tree_store_append( store, &tagListIter, &readerIter );
        gtk_tree_store_set( store, &tagListIter,
                            OBJECT_COLUMN, "Tags",
                            DESCRIPTION_COLUMN, numberString, -1);

        for ( tagNum = 0; tagNum < readerManager.readers[readerNumber].tagList.numTags; tagNum++ )
             tagAdd( &readerManager, &tagListIter, readerNumber, tagNum );
    }
    else
    {
        /* we have not connected to this reader, see if it exists */
        if ( readerNumber >= readerManager.nbReaders )
        {
            gtk_tree_store_set( store, &readerIter,
                            OBJECT_COLUMN, numberString,
                            DESCRIPTION_COLUMN, "Not detected", -1);
        }
        else
        {   /* there is such a reader in the system, although we're not connected to it */
            gtk_tree_store_set( store, &readerIter,
                                OBJECT_COLUMN, numberString,
                                DESCRIPTION_COLUMN, "Not connected", -1);

            if ( readerManager.readers[readerNumber].name != NULL )
            {
                /***************** NAME **********************/
                gtk_tree_store_append( store, &nameIter, &readerIter );
                gtk_tree_store_set( store, &nameIter,
                                OBJECT_COLUMN, "Name/Firmware",
                                DESCRIPTION_COLUMN, readerManager.readers[readerNumber].name, -1);

                /***************** DRIVER **********************/
                gtk_tree_store_append( store, &driverIter, &readerIter );
                gtk_tree_store_set( store, &driverIter,
                                    OBJECT_COLUMN, "Driver",
                                    DESCRIPTION_COLUMN, "Information not available", -1);
            }
        }
    }
}
コード例 #2
0
ファイル: atmClient.cpp プロジェクト: andreaguarise/dgas
//Compose the XML ATM_request message used to send the job info to the user
//DGAS server.
void ATMc_xml_compose(string requestType, ATM_job_data &job_data, ATM_usage_info &usage_info, vector<string> info_v, string *xml)
{

        // add client version to info vector:
        string cVString = "atmClientVersion=";
	cVString += ATM_CLIENT_VERSION; 
	cVString += VERSION;
        info_v.push_back(cVString);
	*xml = "<HLR type=\"";
	*xml += requestType;
        *xml += "\">\n";
	*xml += "<BODY>\n";
	*xml += "<JOB_PAYMENT>\n";
	*xml += "<EDG_ECONOMIC_ACCOUNTING>\n";
	*xml += job_data.economicAccountingFlag;
	*xml += "</EDG_ECONOMIC_ACCOUNTING>\n";
	*xml += "<DG_JOBID>\n";
	*xml += job_data.dgJobId;
	*xml += "\n</DG_JOBID>\n";
	*xml += "<SUBMISSION_TIME>\n";
	*xml += job_data.time;
	*xml += "\n</SUBMISSION_TIME>\n";
	*xml += "<RES_ACCT_PA_ID>\n";
	*xml += job_data.res_acct_PA_id;
	*xml += "\n</RES_ACCT_PA_ID>\n";
	*xml += "<RES_ACCT_BANK_ID>\n";
	*xml += job_data.res_acct_bank_id;
	*xml += "\n</RES_ACCT_BANK_ID>\n";
	*xml += "<USER_CERT_SUBJECT>\n";
	*xml += job_data.user_CertSubject;
	*xml += "\n</USER_CERT_SUBJECT>\n";
	*xml += "<RES_GRID_ID>\n";
	*xml += job_data.res_grid_id;
	*xml += "\n</RES_GRID_ID>\n";
	*xml += "<forceResourceHlrOnly>\n";
        *xml += "yes";
       	*xml += "\n</forceResourceHlrOnly>\n";
	*xml += "<JOB_INFO>\n";
	*xml += "<CPU_TIME>\n";
	*xml += int2string(usage_info.cpu_time);
	*xml += "\n</CPU_TIME>\n";
	*xml += "<WALL_TIME>\n";
	*xml += int2string(usage_info.wall_time);
	*xml += "\n</WALL_TIME>\n";
	*xml += "<MEM>\n";
	*xml += usage_info.mem;
	*xml += "\n</MEM>\n";
	*xml += "<VMEM>\n";
	*xml += usage_info.vmem;
	*xml += "\n</VMEM>\n";
	*xml += "</JOB_INFO>\n";
	*xml += "</JOB_PAYMENT>\n";
	*xml += "<AdditionalUR>\n";
	vector<string>::iterator it = info_v.begin();
	while (it != info_v.end())
	{
		int pos = (*it).find_first_of( "=" );
		if ( pos != string::npos )
		{
			vector<attribute> attributes;
			string keyBuff = "";
			string valueBuff = "";
			keyBuff = (*it).substr(0, pos);
			valueBuff = (*it).substr(pos+1, (*it).size()-pos);	
			attribute attrBuff = {keyBuff,valueBuff};
			attributes.push_back(attrBuff);
			*xml += tagAdd ("dgas:item", "", attributes );
		}
		it++;
	}
	*xml += "</AdditionalUR>\n";
	*xml += "</BODY>\n";
	*xml += "</HLR>\n";
	return;
}