示例#1
0
int BCEChangeEncryptionProduct(byte *sys_params_path, int *adds, int n_adds, int *rems, int n_rems)
{
    global_broadcast_params_t gbs;
    broadcast_system_t sys;

    if (sys_params_path == NULL)
        return 1;
    if (adds == NULL && rems == NULL)
        return 2;

    LoadParams((char *) sys_params_path, &gbs, &sys);

    if (n_adds > gbs->num_users)
        return 3;
    if (n_rems > gbs->num_users)
        return 5;

    Change_encr_prod_indicies(gbs, sys, adds, n_adds, rems, n_rems);

    StoreParams((char *) sys_params_path, gbs, sys);

    FreeBCS(sys);
    pbc_free(sys);
    FreeGBP(gbs);
    pbc_free(gbs);

    return 0;
}
示例#2
0
LRESULT CThumbEditor::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	TRC(IDCANCEL, "Отмена");
	TRC(IDOK, "OK");
	TRC(IDC_THUMBSTROKECOLOR, "Цвет каймы:");
	TRC(IDC_COLORSGROUP, "Цвета");
	TRC(IDC_FRAMECOLORLABEL, "Цвет рамки:");
	TRC(IDC_GRADIENTCOLOR1LABEL, "Цвет градиента 1:");
	TRC(IDC_GRADIENTCOLOR2LABEL, "Цвет градиента 2:");
	TRC(IDC_DRAWFRAME, "Обводить в рамку");
	TRC(IDC_FRAMEWIDTHLABEL, "Толщина:");
	TRC(IDC_THUMBPARAMS, "Параметры текста:");
	TRC(IDC_THUMBTEXTCOLORLABEL, "Цвет текста:");
	TRC(IDC_THUMBSTROKECOLORLABEL, "Цвет обводки:");
	TRC(IDC_THUMBTEXTLABEL, "Текст:");
	TRC(IDC_THUMBFONT, "Шрифт...");
	TRC(IDC_ADDFILESIZE, "Выводить текст");
	
	SetWindowText(TR("Редактирование шаблона миниатюры"));
	FrameColor.SubclassWindow(GetDlgItem(IDC_FRAMECOLOR));
	Color1.SubclassWindow(GetDlgItem(IDC_COLOR1));
	Color2.SubclassWindow(GetDlgItem(IDC_COLOR2));
	StrokeColor.SubclassWindow(GetDlgItem(IDC_THUMBTEXTCOLOR2));
	ThumbTextColor.SubclassWindow(GetDlgItem(IDC_THUMBTEXTCOLOR));
	CenterWindow(GetParent());

	LoadParams();
	ShowTextCheckboxChanged();
	DrawFrameCheckboxChanged();
	return 0;  // Let the system set the focus
}
示例#3
0
	CClientApp::CClientApp(const char* appname, bool bThread)
	{
		ZION_ASSERT(!__global_client_app);
		__global_client_app = this;
		m_bThread = bThread;
		m_bEnableTick = true;
		A_MUTEX_INIT(&m_mtxQueue);

		m_nRecvSize = 20*1024;
		m_nSendSize = 1*1024;

		LoadParams();
	}
示例#4
0
int BCEEncrypt(byte *sys_params_path, byte *CT_C0_out, byte *CT_C1_out, byte *symmetric_key_out)
{
    global_broadcast_params_t gbs;
    broadcast_system_t sys;
    ct_t shared_CT;
    element_t symmetric_key;
    int retlen;

    if (sys_params_path == NULL)
        return 1;

    if (CT_C0_out == NULL)
        return 2;

    if (CT_C1_out == NULL)
        return 3;

    if (symmetric_key_out == NULL)
        return 4;

    LoadParams((char *) sys_params_path, &gbs, &sys);

    shared_CT = (ct_t) pbc_malloc(sizeof(struct ciphertext_s));

    BroadcastKEM_using_product(gbs, sys, shared_CT, symmetric_key);

    retlen = element_to_bytes(CT_C0_out, shared_CT->C0);
    if (retlen != CT_C0_LENGTH)
        return 5;

    retlen = element_to_bytes(CT_C1_out, shared_CT->C1);
    if (retlen != CT_C1_LENGTH)
        return 6;

    retlen = element_to_bytes(symmetric_key_out, symmetric_key);
    if (retlen != SYMMETRIC_KEY_LENGTH)
        return 7;

    element_random(symmetric_key);
    element_clear(symmetric_key);
    FreeCT(shared_CT);
    pbc_free(shared_CT);
    FreeBCS(sys);
    pbc_free(sys);
    FreeGBP(gbs);
    pbc_free(gbs);

    return 0;
}
示例#5
0
NS_IMETHODIMP
nsXPInstallManager::ConfirmInstall(nsIDOMWindow *aParent, const PRUnichar **aPackageList, PRUint32 aCount, PRBool *aRetval)
{
    *aRetval = PR_FALSE;

    nsCOMPtr<nsIDOMWindowInternal> parentWindow( do_QueryInterface(aParent) );
    nsCOMPtr<nsIDialogParamBlock> params;
    nsresult rv = LoadParams( aCount, aPackageList, getter_AddRefs(params) );

    if ( NS_SUCCEEDED(rv) && parentWindow && params)
    {
        nsCOMPtr<nsIDOMWindow> newWindow;

        nsCOMPtr<nsISupportsInterfacePointer> ifptr =
            do_CreateInstance(NS_SUPPORTS_INTERFACE_POINTER_CONTRACTID, &rv);
        NS_ENSURE_SUCCESS(rv, rv);

        ifptr->SetData(params);
        ifptr->SetDataIID(&NS_GET_IID(nsIDialogParamBlock));

        char* confirmDialogURL;
        nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
        if (!pref)
          return rv;

        rv = pref->GetCharPref(PREF_XPINSTALL_CONFIRM_DLG, &confirmDialogURL);
        NS_ASSERTION(NS_SUCCEEDED(rv), "Can't invoke XPInstall FE without a FE URL! Set xpinstall.dialog.confirm");
        if (NS_FAILED(rv))
          return rv;

        rv = parentWindow->OpenDialog(NS_ConvertASCIItoUTF16(confirmDialogURL),
                                      NS_LITERAL_STRING("_blank"),
                                      NS_LITERAL_STRING("chrome,centerscreen,modal,titlebar"),
                                      ifptr,
                                      getter_AddRefs(newWindow));

        if (NS_SUCCEEDED(rv))
        {
            //Now get which button was pressed from the ParamBlock
            PRInt32 buttonPressed = 0;
            params->GetInt( 0, &buttonPressed );
            *aRetval = buttonPressed ? PR_FALSE : PR_TRUE;
        }
    }

    return rv;
}
// Initialize emitter.
void COGEmitterScrollingRay::Init(IOGGroupNode* _pNode)
{
    LoadParams(_pNode);

    m_pTexture = GetResourceMgr()->GetTexture(OG_RESPOOL_GAME, m_Texture);
    m_Blend = OG_BLEND_ALPHAONE;
    m_pVBO = m_pRenderer->CreateDynVertexBuffer(2*60);

    m_bPositionUpdated = false;
    m_bPosReady = false;

    m_Frames.reserve(m_MappingFinishId - m_MappingStartId + 1);
    for (unsigned int i = m_MappingStartId; i <= m_MappingFinishId; ++i)
    {
        m_Frames.push_back(m_pTexture->GetMapping(i));
    }
}
示例#7
0
RegFrame::RegFrame( wxMDIParentFrame *parent, const wxString& title )
  : ChildFrame(parent, title)
{
	m_panel = new wxPanel(this);
	m_sizerFrame = new wxBoxSizer(wxVERTICAL);

	m_textCtrlBasic = new RegRichTextCtrl(m_panel);

	m_bookCtrl = new wxAuiNotebook(m_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_NB_BOTTOM);
	//m_bookCtrl = new wxNotebook(m_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_BOTTOM);
	{
		wxWindow *page = MakePageDR();
		m_bookCtrl->AddPage(page, wxT("DR"), false);
	}

	{
		wxWindow *page = MakePageFPU();
		m_bookCtrl->AddPage(page, wxT("FPU"), false);
	}

	{
		wxWindow *page = MakePageMMX();
		m_bookCtrl->AddPage(page, wxT("MMX"), false);
	}

	{
		wxWindow *page = MakePage3dnow();
		m_bookCtrl->AddPage(page, wxT("3DNow!"), false);
	}

	//m_sizerFrame->Insert(0, m_bookCtrl, wxSizerFlags(5).Expand().Border());
	m_sizerFrame->Add(m_textCtrlBasic, 2, wxEXPAND);
	m_sizerFrame->Add(m_bookCtrl, 1, wxEXPAND);
	m_sizerFrame->Layout();
	m_panel->SetSizer(m_sizerFrame);

	LoadParams();
}
示例#8
0
// Selection was made from the Select menu button of a predefined CRC settings
void CGeneralCRC::OnSelect()
{
	int id = select_menu_.m_nMenuResult;  // slected menu ID (= index into settings_)
	if (id > 0 && id < settings_.size())
	{
		// Get the param string associated with the select menu item and load it into member vars
		LoadParams(settings_[id]);

		// Update dlg controls from members variables
		UpdateData(FALSE);

		// Get the menu item text and load it into the name field
		CMenu menu;
		menu.Attach(select_menu_.m_hMenu);
		CString ss = get_menu_text(&menu, id);
		menu.Detach();
		SetDlgItemText(IDC_CRC_NAME, ss);

		// Enable the Delete button if this is a user defined setting
		GetDlgItem(IDC_CRC_DELETE)->EnableWindow(id >= last_predefined_);
		last_selected_ = id;
	}
}
示例#9
0
void board_init(void)
{
	GPIO_InitTypeDef  gpio;
	SystemCoreClockUpdate( );

    // turn on peripherals needed by all
    RCC_AHB1PeriphClockCmd(	RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB |
							RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD |
							RCC_AHB1Periph_DMA1  | RCC_AHB1Periph_DMA2  |
							RCC_AHB1Periph_BKPSRAM, ENABLE);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 | RCC_APB2Periph_TIM1 | RCC_APB2Periph_SYSCFG, ENABLE);
    RCC_APB1PeriphClockCmd( RCC_APB1Periph_SPI2 | RCC_APB1Periph_SPI3 | RCC_APB1Periph_TIM2 |
							RCC_APB1Periph_TIM3 | RCC_APB1Periph_TIM4 | RCC_APB1Periph_TIM5 |  RCC_APB1Periph_TIM12 |
                     RCC_APB1Periph_PWR, ENABLE);

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
	SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
	RCC_LSEConfig(RCC_LSE_OFF);

	LEDInit(LED_BLUE);
	LEDInit(LED_GREEN);

	gpio.GPIO_Pin = GPIO_Pin_0;
	gpio.GPIO_Mode = GPIO_Mode_OUT;
	gpio.GPIO_OType = GPIO_OType_PP;
	gpio.GPIO_PuPd = GPIO_PuPd_UP;
	gpio.GPIO_Speed = GPIO_Speed_100MHz;
	GPIO_Init(GPIOC, &gpio);
	GPIO_SetBits(GPIOC, GPIO_Pin_0);
	gpio.GPIO_Pin = GPIO_Pin_1;
	gpio.GPIO_PuPd = GPIO_PuPd_DOWN;
	GPIO_Init(GPIOC, &gpio);
	GPIO_ResetBits(GPIOC, GPIO_Pin_1);

	//SPI1 output to electronic switch to control mask
	GPIO_StructInit(&gpio);
	gpio.GPIO_Pin = GPIO_Pin_6; // SPI1 MISO
    gpio.GPIO_Mode = GPIO_Mode_AF;
	gpio.GPIO_OType = GPIO_OType_PP;
    gpio.GPIO_Speed = GPIO_Speed_50MHz;
	gpio.GPIO_PuPd  = GPIO_PuPd_NOPULL;
	GPIO_Init(GPIOA, &gpio);
	GPIO_ResetBits(GPIOA, GPIO_Pin_6);

	GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_SPI3);
	GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_SPI3);
	GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_SPI3);

	// max7456 SPI MOIS MISO SLK pin config
	gpio.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12;
	gpio.GPIO_Mode = GPIO_Mode_AF;
	gpio.GPIO_OType = GPIO_OType_PP;
    gpio.GPIO_Speed = GPIO_Speed_50MHz;
	gpio.GPIO_PuPd  = GPIO_PuPd_DOWN;
	GPIO_Init(GPIOC, &gpio);

	// max7456 SPI CS Pin
	gpio.GPIO_Pin = GPIO_Pin_15;
	gpio.GPIO_Mode = GPIO_Mode_OUT;
	gpio.GPIO_OType = GPIO_OType_PP;
	gpio.GPIO_Speed = GPIO_Speed_50MHz;
	gpio.GPIO_PuPd = GPIO_PuPd_NOPULL;
	GPIO_Init(GPIOA, &gpio);
	GPIO_SetBits(GPIOA,GPIO_Pin_15);

    Build_Sin_Cos_Tables();

    LoadParams();
    checkDefaultParam();

    SPI_MAX7456_init();

    atti_mp_scale = (float)eeprom_buffer.params.Atti_mp_scale_real + (float)eeprom_buffer.params.Atti_mp_scale_frac * 0.01;
    atti_3d_scale = (float)eeprom_buffer.params.Atti_3D_scale_real + (float)eeprom_buffer.params.Atti_3D_scale_frac * 0.01;
    atti_3d_min_clipX = eeprom_buffer.params.Atti_mp_posX - (uint32_t)(22*atti_mp_scale);
    atti_3d_max_clipX = eeprom_buffer.params.Atti_mp_posX + (uint32_t)(22*atti_mp_scale);
    atti_3d_min_clipY = eeprom_buffer.params.Atti_mp_posY - (uint32_t)(30*atti_mp_scale);
    atti_3d_max_clipY = eeprom_buffer.params.Atti_mp_posY + (uint32_t)(34*atti_mp_scale);
}
示例#10
0
NS_IMETHODIMP
nsXPInstallManager::OpenProgressDialog(const PRUnichar **aPackageList, PRUint32 aCount, nsIObserver *aObserver)
{
    // --- convert parameters into nsISupportArray members
    nsCOMPtr<nsIDialogParamBlock> list;
    nsresult rv = LoadParams( aCount, aPackageList, getter_AddRefs(list) );
    if (NS_FAILED(rv))
        return rv;

    nsCOMPtr<nsISupportsInterfacePointer> listwrap(do_CreateInstance(NS_SUPPORTS_INTERFACE_POINTER_CONTRACTID));
    if (listwrap) {
        listwrap->SetData(list);
        listwrap->SetDataIID(&NS_GET_IID(nsIDialogParamBlock));
    }

    nsCOMPtr<nsISupportsInterfacePointer> callbackwrap(do_CreateInstance(NS_SUPPORTS_INTERFACE_POINTER_CONTRACTID));
    if (callbackwrap) {
        callbackwrap->SetData(aObserver);
        callbackwrap->SetDataIID(&NS_GET_IID(nsIObserver));
    }

    nsCOMPtr<nsISupportsArray> params(do_CreateInstance(NS_SUPPORTSARRAY_CONTRACTID));

    if ( !params || !listwrap || !callbackwrap )
        return NS_ERROR_FAILURE;

    params->AppendElement(listwrap);
    params->AppendElement(callbackwrap);

    // --- open the window
    nsCOMPtr<nsIWindowWatcher> wwatch(do_GetService(NS_WINDOWWATCHER_CONTRACTID, &rv));
    if (!wwatch)
        return rv;

    char *statusDialogURL, *statusDialogType;
    nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
    if (!pref)
        return rv;
	const char* statusDlg = mChromeType == CHROME_SKIN ? PREF_XPINSTALL_STATUS_DLG_SKIN
                                                         : PREF_XPINSTALL_STATUS_DLG_CHROME;
	rv = pref->GetCharPref(statusDlg, &statusDialogURL);
	NS_ASSERTION(NS_SUCCEEDED(rv), "Can't invoke XPInstall FE without a FE URL! Set xpinstall.dialog.status");
	if (NS_FAILED(rv))
		return rv;

    const char* statusType = mChromeType == CHROME_SKIN ? PREF_XPINSTALL_STATUS_DLG_TYPE_SKIN
                                                        : PREF_XPINSTALL_STATUS_DLG_TYPE_CHROME;
    rv = pref->GetCharPref(statusType, &statusDialogType);
    nsAutoString type;
    type.AssignWithConversion(statusDialogType);
    if (NS_SUCCEEDED(rv) && !type.IsEmpty()) {
        nsCOMPtr<nsIWindowMediator> wm = do_GetService(NS_WINDOWMEDIATOR_CONTRACTID);

        nsCOMPtr<nsIDOMWindowInternal> recentWindow;
        wm->GetMostRecentWindow(type.get(), getter_AddRefs(recentWindow));
        if (recentWindow) {
            nsCOMPtr<nsIObserverService> os(do_GetService("@mozilla.org/observer-service;1"));
            os->NotifyObservers(params, "xpinstall-download-started", nsnull);

            recentWindow->Focus();
            return NS_OK;
        }
    }

    nsCOMPtr<nsIDOMWindow> newWindow;
    rv = wwatch->OpenWindow(0,
                            statusDialogURL,
                            "_blank",
                            "chrome,centerscreen,titlebar,dialog=no,resizable",
                            params,
                            getter_AddRefs(newWindow));

    return rv;
}
示例#11
0
void board_init(void) {
  GPIO_InitTypeDef gpio;
  SystemCoreClockUpdate();

  // turn on peripherals needed by all
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB |
                         RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD |
                         RCC_AHB1Periph_DMA1  | RCC_AHB1Periph_DMA2  |
                         RCC_AHB1Periph_BKPSRAM, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 | RCC_APB2Periph_TIM1 | RCC_APB2Periph_SYSCFG, ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2 | RCC_APB1Periph_SPI3 | RCC_APB1Periph_TIM2 |
                         RCC_APB1Periph_TIM3 | RCC_APB1Periph_TIM4 | RCC_APB1Periph_TIM5 |  RCC_APB1Periph_TIM12 |
                         RCC_APB1Periph_PWR, ENABLE);

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
  RCC_LSEConfig(RCC_LSE_OFF);

  LEDInit(LED_BLUE);
  LEDInit(LED_GREEN);

  gpio.GPIO_Pin = GPIO_Pin_0;
  gpio.GPIO_Mode = GPIO_Mode_OUT;
  gpio.GPIO_OType = GPIO_OType_PP;
  gpio.GPIO_PuPd = GPIO_PuPd_UP;
  gpio.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_Init(GPIOC, &gpio);
  GPIO_SetBits(GPIOC, GPIO_Pin_0);
  gpio.GPIO_Pin = GPIO_Pin_1;
  gpio.GPIO_PuPd = GPIO_PuPd_DOWN;
  GPIO_Init(GPIOC, &gpio);
  GPIO_ResetBits(GPIOC, GPIO_Pin_1);

  //SPI1 output to electronic switch to control mask
  GPIO_StructInit(&gpio);
  gpio.GPIO_Pin = GPIO_Pin_6;       // SPI1 MISO
  gpio.GPIO_Mode = GPIO_Mode_AF;
  gpio.GPIO_OType = GPIO_OType_PP;
  gpio.GPIO_Speed = GPIO_Speed_50MHz;
  gpio.GPIO_PuPd  = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA, &gpio);
  GPIO_ResetBits(GPIOA, GPIO_Pin_6);

  GPIO_PinAFConfig(GPIOC, GPIO_PinSource10, GPIO_AF_SPI3);
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource11, GPIO_AF_SPI3);
  GPIO_PinAFConfig(GPIOC, GPIO_PinSource12, GPIO_AF_SPI3);

  // max7456 SPI MOIS MISO SLK pin config
  gpio.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12;
  gpio.GPIO_Mode = GPIO_Mode_AF;
  gpio.GPIO_OType = GPIO_OType_PP;
  gpio.GPIO_Speed = GPIO_Speed_50MHz;
  gpio.GPIO_PuPd  = GPIO_PuPd_DOWN;
  GPIO_Init(GPIOC, &gpio);

  // max7456 SPI CS Pin
  gpio.GPIO_Pin = GPIO_Pin_15;
  gpio.GPIO_Mode = GPIO_Mode_OUT;
  gpio.GPIO_OType = GPIO_OType_PP;
  gpio.GPIO_Speed = GPIO_Speed_50MHz;
  gpio.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOA, &gpio);
  GPIO_SetBits(GPIOA, GPIO_Pin_15);

  Build_Sin_Cos_Tables();

  bool force_clear_params = false;
  force_clear_params = test_force_clear_all_params();
  if (force_clear_params)
  {
    clear_all_params();
  }

  LoadParams();
  checkDefaultParam();
  SPI_MAX7456_init();
  
  set_up_offsets_and_scale();
}
示例#12
0
EQKAnalyzer::EQKAnalyzer( const std::string fparam, bool MoveF ) {
	LoadParams( fparam, MoveF );
	CheckParams();
}
示例#13
0
//----------------------------------------
void CBratProcessExportAscii::GetParameters()
{
  LoadParams(m_commandFileName);
  CheckFileParams();

  CFileParams& params = *m_fileParams;
  CUnit	unit;

// Verify keyword occurences
  uint32_t	nbExpr		= params.CheckCount(kwFIELD,  1, -1);
  uint32_t	nbFormats	= params.CheckCount(kwFIELD_FORMAT, 0, -1);
  uint32_t	nbNames    	= params.CheckCount(kwFIELD_NAME, 0, -1);
  uint32_t	nbOutput	= params.CheckCount(kwOUTPUT, 0);

  params.CheckCount(kwRECORD);
  params.CheckCount(kwFIELD_UNIT, nbExpr);

  if (nbFormats != 0)
  {
    params.CheckCount(kwFIELD_FORMAT, nbExpr);
  }

  if (nbNames != 0)
  {
    params.CheckCount(kwFIELD_NAME, nbExpr);
  }

// Get keyword values

  CTrace *p = CTrace::GetInstance();

  if (nbOutput != 0)
  {
    params.m_mapParam[kwOUTPUT]->GetValue(m_outputFileName);
  }

  if (m_outputFileName != "")
  {
    ofstream	*oFile;
    p->Tracer(1, CBratProcess::PCT_StrFmt, "Output file", m_outputFileName.c_str());
    oFile = new ofstream;
    oFile->open(m_outputFileName.c_str());
    if (oFile->fail())
    {
      throw CFileException("Error creating file", m_outputFileName, BRATHL_IO_ERROR);
    }
    m_outputFile	= oFile;
  }
  else
  {
    p->Tracer(1, CBratProcess::PCT_StrFmt, "Output file", "Standard output");
    m_outputFile	= &cout;
  }

  params.m_mapParam[kwRECORD]->GetValue(m_recordName);
  p->Tracer(1, CBratProcess::PCT_StrFmt, "Data set name", m_recordName.c_str());

  //ExpandArray = false;
  if (params.CheckCount(kwEXPAND_ARRAY, 0, 1) == 1)
  {
    params.m_mapParam[kwEXPAND_ARRAY]->GetValue(m_expandArray);
  }
  p->Tracer(1, CBratProcess::PCT_IntFmt, "Expand array", m_expandArray);

  if (params.CheckCount(kwDATE_AS_PERIOD, 0, 1) == 1)
  {
    params.m_mapParam[kwDATE_AS_PERIOD]->GetValue(m_dateAsPeriod);
  }
  p->Tracer(1, CBratProcess::PCT_IntFmt, "Date as period", m_dateAsPeriod);

  GetSelectParameter(params);

  ResizeArrayDependOnFields(nbExpr);

  uint32_t index;

  for (index = 0; index < nbExpr; index++)
  {
    string* namesTmp = NULL;

    if (nbNames > 0)
    {
      namesTmp = &m_names[index];
    }

    this->GetDefinition(params,
	      kwFIELD,
	      m_fields[index],
	      namesTmp,
	      NULL,
	      &m_units[index],
	      NULL,
	      NULL,
	      &m_formats[index],
	      NULL,
	      "Value/Column",
	      index,
	      nbExpr);
  }

  DeleteFileParams();
}
示例#14
0
//start_index从1开始,不算0
int BCEGenPrivateKeys(byte *sys_params_path, byte *sys_priv_key, int num_user, int start_index, int length, byte *user_priv_keys_out, int check_array)
{
    global_broadcast_params_t gbs;
    broadcast_system_t sys;
    int priv_key_read, i;
    //struct single_priv_key_s user_keys[length];  // Problematic Memory Allocation

    struct single_priv_key_s *user_keys;

    char *recip;
    // char recip[num_user / NUM_USER_DIVISOR];

    if (sys_params_path == NULL)
        return 1;

    if (sys_priv_key == NULL)
        return 2;

    if (num_user % NUM_USER_DIVISOR != 0)
        return 3;

    if (start_index % NUM_USER_DIVISOR != 1)
        return 4;

    if (user_priv_keys_out == NULL)
        return 6;

    if (length > check_array)
        return -2;

    LoadParams((char *) sys_params_path, &gbs, &sys);

    priv_key_read = element_from_bytes(sys->priv_key, sys_priv_key);

    if (priv_key_read != BCE_ZR_LENGTH)
        return -1;

    recip = (char *) malloc(num_user / NUM_USER_DIVISOR);

    memset(recip, BIT_VECTOR_UNIT_VALUE, num_user / NUM_USER_DIVISOR);

    user_keys = (priv_key_t) malloc(length * sizeof(struct single_priv_key_s)); //**

    for (i = 0; i < length; i++)
    {
        Get_priv_key(gbs, sys, start_index + i, &user_keys[i]);
        Gen_decr_prod_from_bitvec(gbs, start_index + i, recip, &user_keys[i]);
    }

    for (i = 0; i < length; i++)
    {
        int_to_bytes(user_keys[i].index, user_priv_keys_out);
        user_priv_keys_out += 4;
        user_priv_keys_out += element_to_bytes(user_priv_keys_out, user_keys[i].g_i_gamma);
        user_priv_keys_out += element_to_bytes(user_priv_keys_out, user_keys[i].g_i);
        user_priv_keys_out += element_to_bytes(user_priv_keys_out, user_keys[i].h_i);
        user_priv_keys_out += element_to_bytes(user_priv_keys_out, user_keys[i].decr_prod);
    }

    memset(recip, BIT_VECTOR_CLEAR_UNIT_VALUE, num_user / NUM_USER_DIVISOR);
    free(recip);
    for (i = 0; i < length; i++)
    {
        FreePK(&user_keys[i]);
    }
    free(user_keys);
    FreeBCS(sys);
    pbc_free(sys);
    FreeGBP(gbs);
    pbc_free(gbs);

    return 0;
}