bool
ParamTraits<Principal>::Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
{
  bool isNull;
  if (!ReadParam(aMsg, aIter, &isNull)) {
    return false;
  }

  if (isNull) {
    aResult->mPrincipal = nullptr;
    return true;
  }

  nsCString principalString;
  if (!ReadParam(aMsg, aIter, &principalString)) {
    return false;
  }

  nsCOMPtr<nsISupports> iSupports;
  nsresult rv = NS_DeserializeObject(principalString, getter_AddRefs(iSupports));
  NS_ENSURE_SUCCESS(rv, false);

  nsCOMPtr<nsIPrincipal> principal = do_QueryInterface(iSupports);
  NS_ENSURE_TRUE(principal, false);

  principal.swap(aResult->mPrincipal);
  return true;
}
bool
ParamTraits<DxgiAdapterDesc>::Read(const Message* aMsg, void** aIter, paramType* aResult)
{
#if defined(XP_WIN)
  const char* description = nullptr;
  if (!aMsg->ReadBytes(aIter, &description, sizeof(aResult->Description))) {
    return false;
  }
  memcpy(aResult->Description, description, sizeof(aResult->Description));

  if (ReadParam(aMsg, aIter, &aResult->VendorId) &&
      ReadParam(aMsg, aIter, &aResult->DeviceId) &&
      ReadParam(aMsg, aIter, &aResult->SubSysId) &&
      ReadParam(aMsg, aIter, &aResult->Revision) &&
      ReadParam(aMsg, aIter, &aResult->DedicatedVideoMemory) &&
      ReadParam(aMsg, aIter, &aResult->DedicatedSystemMemory) &&
      ReadParam(aMsg, aIter, &aResult->SharedSystemMemory) &&
      ReadParam(aMsg, aIter, &aResult->AdapterLuid.LowPart) &&
      ReadParam(aMsg, aIter, &aResult->AdapterLuid.HighPart))
  {
    return true;
  }
#else
  MOZ_ASSERT_UNREACHABLE("DxgiAdapterDesc is Windows-only");
#endif
  return false;
}
示例#3
0
bool
ParamTraits<DxgiAdapterDesc>::Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult)
{
#if defined(XP_WIN)
  if (!aMsg->ReadBytesInto(aIter, aResult->Description, sizeof(aResult->Description))) {
    return false;
  }

  if (ReadParam(aMsg, aIter, &aResult->VendorId) &&
      ReadParam(aMsg, aIter, &aResult->DeviceId) &&
      ReadParam(aMsg, aIter, &aResult->SubSysId) &&
      ReadParam(aMsg, aIter, &aResult->Revision) &&
      ReadParam(aMsg, aIter, &aResult->DedicatedVideoMemory) &&
      ReadParam(aMsg, aIter, &aResult->DedicatedSystemMemory) &&
      ReadParam(aMsg, aIter, &aResult->SharedSystemMemory) &&
      ReadParam(aMsg, aIter, &aResult->AdapterLuid.LowPart) &&
      ReadParam(aMsg, aIter, &aResult->AdapterLuid.HighPart))
  {
    return true;
  }
  return false;
#else
  return true;
#endif
}
示例#4
0
bool
StructuredCloneData::ReadIPCParams(const IPC::Message* aMsg,
                                   void** aIter)
{
  MOZ_ASSERT(!mData);

  if (!ReadParam(aMsg, aIter, &mDataLength)) {
    return false;
  }

  if (!mDataLength) {
    return true;
  }

  const char** buffer =
    const_cast<const char**>(reinterpret_cast<char**>(&mData));
  // Structured clone data must be 64-bit aligned.
  if (!aMsg->ReadBytes(aIter, buffer, mDataLength, sizeof(uint64_t))) {
    return false;
  }

  uint64_t* data = static_cast<uint64_t*>(js_malloc(mDataLength));
  if (!data) {
     return false;
  }

  memcpy(data, mData, mDataLength);
  mData = data;
  mDataOwned = eJSAllocated;
  return true;
}
示例#5
0
bool
StructuredCloneData::ReadIPCParams(const IPC::Message* aMsg,
                                   void** aIter)
{
  MOZ_ASSERT(!Data());

  size_t dataLength = 0;
  if (!ReadParam(aMsg, aIter, &dataLength)) {
    return false;
  }

  if (!dataLength) {
    return true;
  }

  uint64_t* dataBuffer = nullptr;
  const char** buffer =
    const_cast<const char**>(reinterpret_cast<char**>(&dataBuffer));
  // Structured clone data must be 64-bit aligned.
  if (!aMsg->ReadBytes(aIter, buffer, dataLength, sizeof(uint64_t))) {
    return false;
  }

  mSharedData = SharedJSAllocatedData::CreateFromExternalData(dataBuffer,
                                                              dataLength);
  NS_ENSURE_TRUE(mSharedData, false);

  return true;
}
示例#6
0
static void ShowParamCurr(void)
{
  if (GetParamDevice(iwPrm) == 0)
    ShowLo(szNoParam);
  else
  {
    fBeginParam = false;

    LoadCurrParam(iwPrm);
    ibPort = diCurr.ibPort;

    if (mpboEnblParams[iwPrm] == false)
      ShowLo(szBlocked); 
    else if (diCurr.ibPhone != 0)
      ShowLo(szModemLink);
    else
    {
      float2 fl2 = ReadParam(iwPrm);

      if (fl2.fValid)
        sprintf(szLo,"%12.3f", fl2.flValue);
      else
        Error();
    }
  }
}
示例#7
0
文件: main.c 项目: 12019/zibogas
/*****************************************************************
 函数原型:System_Init()
 功能描述:参数等初始化
 参数描述:

 返回值:   OK ?  NOTOK

 作  者:   许岩/刘及华
 日  期:   2012-11-24
 修改历史:
		日期        修改人      修改描述
		------      ---------   -------------
*****************************************************************/
INT8U System_Init(void)
{
	INT8U   i = 0;
	INT16U  key = EM_key_NOHIT;

	EA_vCls();
	EA_ucSetInverse(EM_lcd_INVOFF);
	EA_vDisp(1, 1, "    版本号: ");
	EA_vDisp(1, 13, VERSION);
	SleepMs(2000);
	EA_vCls();
	EA_vDisp(2, 1, "   系统初始化中...  ");
	key = EA_uiInkeyMs(2000);

	if ( key == EM_key_F3 )
	{
		format_process();    		  //可以进行系统格式化操作
	}
	//重要参数部分初始化函数
	appfile_Init();

	memset((void *)&DevStat, 0x00, sizeof(DevStat));

	i = ReadParam();  
	        
	if ( i != ok )
	{
		param_factory_default(0);     //格式化重要参数DEV.STATE
	}

	DevStat.POS_type = POS_T_NORMAL;  //盒类型为正常采集


	DevStat.record_number = query_rec_num();

	memset((void *)&CardInfo, 0x00, sizeof(CardInfo));        //清除卡的信息
	memset((void *)&ErrCardInfo, 0x00, sizeof(ErrCardInfo));  //清除错误卡的信息

	//这里应该添加一个函数,负责管理所有的设备的句柄结构!!!!
	i = Device_Handle_Init();
	if( i != ok)
	{
		return notok;
	}

	if( LowBatteryDisplay() != ok )     //电池电量检测
	{	
		lcddisperr("电池电量检测失败");
		return notok;
	}
	if( SystemCheck() != ok )          //PSAM系统检测
	{
		lcddisperr("PSAM卡检测失败");
		return notok;
	}
	return ok;
}
示例#8
0
/*****************************************************************
 函数原型:	System_Init()
 功能描述:器件类初始化
 参数描述:	
				 
 返回值:	无
 
 作  者:	大连现代/刘及华
 日  期:	2004-09-17
 修改历史:
		日期		修改人		修改描述
		------		---------	-------------
*****************************************************************/
void System_Init(void)
{
	INT8U   i;

	ToggleWD();

	SetBell(OFF);

	SleepMs(200);

	Start_beep();								/* 开机后蜂鸣器提示*/
	SleepMs(200);

	/* 全局变量初始化*/

	//DevStat初始化
	memset((void*)&DevStat, 0x00, sizeof(DevStat));
	ReadParam();

	DevStat.err_occured = FALSE;
	DevStat.err_code = 0x0000;
	DevStat.id = 0x10;
	DevStat.mode = AUTO;
	DevStat.passwd = 0;
	DevStat.MOD_REG.reg[0x0018] = 0x00;	//禁止继电器动作

	i = query_key_nsnd();
	if ( i == KEY_CANCEL )	 //开机时按下CANCEL键,进入格式化状态
	{
		(void)Get_Passwd();
	}
	
	memset(PageBuf1, 0xFF, sizeof(PageBuf1));
	FlashPageRead512(10, PageBuf1, 0);
	memcpy((void *)&DevStat.reset_times, (void *)PageBuf1, sizeof(DevStat.reset_times));
	if(DevStat.reset_times >= 254)
	{
		DevStat.reset_times = 0;
	}
	DevStat.reset_times++;
	memcpy((void *)PageBuf1, (void *)&DevStat.reset_times, sizeof(DevStat.reset_times));
	FlashPageWrite512(10, PageBuf1, 0);

	DisplayTimeEN = TRUE;		//允许刷新时间任务刷新时间

#ifdef QUICK_DEBUG
#else
	DisplayVersion(VERSION);
	DisplayID(DevStat.id);
	SleepMs(1000);
#endif

}
bool
nsSimpleNestedURI::Read(const IPC::Message *aMsg, void **aIter)
{
    if (!nsSimpleURI::Read(aMsg, aIter))
        return false;

    IPC::URI uri;
    if (!ReadParam(aMsg, aIter, &uri))
        return false;

    mInnerURI = uri;

    return true;
}
bool
ReadRemoteEvent(const IPC::Message* aMsg, void** aIter,
                RemoteDOMEvent* aResult)
{
  aResult->mEvent = nullptr;
  nsString type;
  NS_ENSURE_TRUE(ReadParam(aMsg, aIter, &type), false);

  nsCOMPtr<nsIDOMEvent> event;
  nsEventDispatcher::CreateEvent(nullptr, nullptr, type, getter_AddRefs(event));
  aResult->mEvent = do_QueryInterface(event);
  NS_ENSURE_TRUE(aResult->mEvent, false);

  return aResult->mEvent->Deserialize(aMsg, aIter);
}
示例#11
0
bool panTaskLogo::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
{
////@begin panTaskLogo creation
    wxPanel::Create( parent, id, pos, size, style );

    CreateControls();
    if (GetSizer())
    {
        GetSizer()->SetSizeHints(this);
    }
    Centre();
////@end panTaskLogo creation

	ReadParam();
	m_isloadImage =false;
    return true;
}
示例#12
0
int ReadCommand(char *ptr, DWORD dwLenght, COMMAND *pCommand) {
    char tmp[_MAXSTRLEN];
    int i=0;char *initPtr;
      //  MessageBox( HWND_DESKTOP, "1", "Error", MB_OK );
    initPtr=ptr;
    if (dwLenght<strlen(_COMMANDCHAIN))
       return _ERROR_CMD_INVALID;
   // MessageBox( HWND_DESKTOP, "2", "Error", MB_OK );
    if (strncmp(ptr,_COMMANDCHAIN,strlen(_COMMANDCHAIN))!=0)
       return _ERROR_CMD_INVALID;
    
    ptr+=strlen(_COMMANDCHAIN);
    while (*ptr!='\n' && *ptr!='\r' && i<_MAXSTRLEN && ((ptr-initPtr)<dwLenght))
          tmp[i++]=*ptr++;
    tmp[i]=0;
    if (*ptr=='\r')
       ptr++;
       
    pCommand->command=atoi(tmp);
    ptr++;
 //   MessageBox( HWND_DESKTOP, "3", "Error", MB_OK );    
    if (((ptr-initPtr)+strlen(_IDCHAIN)) > dwLenght)
       return _ERROR_CMD_INVALID;
   // MessageBox( HWND_DESKTOP, "4", "Error", MB_OK );
    if (strncmp(ptr,_IDCHAIN,strlen(_IDCHAIN))!=0)
       return _ERROR_CMD_INVALID;
        pCommand->numParameters=0;
   // MessageBox( HWND_DESKTOP, "5", "Error", MB_OK );
    ptr+=strlen(_IDCHAIN);i=0;
    while (*ptr!='\n' && *ptr!='\r' && (i<_MAXSTRLEN) && ((ptr-initPtr)<dwLenght))
          tmp[i++]=*ptr++;
    
    if (*ptr=='\r')
       ptr++;
    tmp[i]=0;
    pCommand->idCommand=atoi(tmp);
    ptr++;

    return ReadParam(ptr,dwLenght-(ptr-initPtr),pCommand);
}
示例#13
0
	bool JPoolingLayer<Dtype>::Init(const vector<string> param){
		SetParam(param);
		return ReadParam();
	}
示例#14
0
	bool JConvolutionLayer<Dtype>::Init(const vector<string> param){
		SetParam(param);
		return ReadParam();
	}