
unit Telephone
{
	link memory linka {} = #.linker.linka;
	
	//[i] linksysconst_uint8 ID;
	public const uint8 ID = 0;
	
	//[i] var_uint8 OS_EventFlag;
	public uint8 OS_EventFlag;
	
	///[i] event ReceiveEvent;
	
	//[i] var_int32 X;
	public linka int32 X = #addr ID * 0x0100 + 0x01;
	//[i] var_int32 Y;
	public linka int32 Y = #addr ID * 0x0100 + 0x02;
	//[i] var_int32 Width;
	public linka int32 Width = #addr ID * 0x0100 + 0x03;
	//[i] var_int32 Height;
	public linka int32 Height = #addr ID * 0x0100 + 0x04;
	//[i] var_int32 BackColor;
	public linka int32 BackColor = #addr ID * 0x0100 + 0x05;
	//[i] var_int32 ForeColor;
	public linka int32 ForeColor = #addr ID * 0x0100 + 0x06;
	
	//---------------------------------------------------
	//ʼ
	//[i] function_void OS_init;
	public void OS_init()
	{
		OS_EventFlag = 0;
	}
	//---------------------------------------------------
	//[i] function_void set_telephone Astring;
	public void set_telephone( [#.code uint16*?] string )
	{
		#.linker.SetString( ID, 0x11, string );
	}
	//---------------------------------------------------
	//[i] function_void send_message Astring;
	public void send_message( [#.code uint16*?] string )
	{
		#.linker.SetString( ID, 0x12, string );
	}
	//---------------------------------------------------
	//[i] function_void call_phone;
	public void call_phone()
	{
		#.linker.SetValue( ID, 0x13, 0 );
	}
}








