diff --git a/lib/omv/events.dart b/lib/omv/events.dart new file mode 100644 index 0000000..e41a98e --- /dev/null +++ b/lib/omv/events.dart @@ -0,0 +1,52 @@ +import 'package:libac_dart/omv/types/integer.dart'; +import 'package:libac_dart/omv/types/key.dart'; +import 'package:libac_dart/omv/types/list.dart'; +import 'package:libac_dart/omv/types/rotation.dart'; +import 'package:libac_dart/omv/types/string.dart'; +import 'package:libac_dart/omv/types/vector.dart'; + +abstract class SLEvents { + void at_rot_target( + Integer iHandle, Rotation rTargetRotation, Rotation rCurrentRotation); + void at_target( + Integer iHandle, Vector vTargetPosition, Vector vCurrrentPosition); + void attach(Key kAttached); + void changed(Integer iChangedFlags); + void collision(Integer iCollisionCount); + void collision_end(Integer iCollisionCount); + void collision_start(Integer iCollisionCount); + void control(Key kID, Integer iLevels, Integer iEdges); + void dataserver(Key kRequestID, string sData); + void email(string sTime, string sAddress, string sSubject, string sBody, + Integer iRemaining); + void http_response( + Key kRequestID, Integer iStatus, list lMetadata, string sBody); + void http_request(Key kRequestID, string sMethod, string sBody); + void land_collision(Vector vPosition); + void land_collision_end(Vector vPosition); + void land_collision_start(Vector vPosition); + void link_message( + Integer iSenderLinkIndex, Integer iNumber, string sText, Key kID); + void linkset_data(Integer action, string name, string value); + void listen(Integer iChannel, String sName, Key kID, String sText); + void money(Key kPayerID, Integer iAmount); + void moving_end(); + void moving_start(); + void no_sensor(); + void not_at_rot_target(); + void not_at_target(); + void object_rez(Key kID); + void on_rez(Integer iStartParameter); + void path_update(Integer iType, list lReserved); + void remote_data(Integer iEventType, Key kChannelID, Key kMessageID, + string sSender, Integer iData, string sData); + void run_time_permissions(Integer iPermissionsFlags); + void sensor(Integer iSensedCount); + void state_entry(); + void state_exit(); + void timer(); + void touch(Integer iTouchesCount); + void touch_end(Integer iTouchesCount); + void touch_start(Integer iTouchesCount); + void transaction_result(Key kID, Integer iSuccess, string sMessage); +} diff --git a/lib/omv/types/constants.dart b/lib/omv/types/constants.dart index c392603..b5392ae 100644 --- a/lib/omv/types/constants.dart +++ b/lib/omv/types/constants.dart @@ -268,6 +268,18 @@ const int LINK_ALL_OTHERS = -2; const int LINK_ALL_CHILDREN = -3; const int LINK_THIS = -4; +const int LINKSETDATA_RESET = 0; +const int LINKSETDATA_UPDATE = 1; +const int LINKSETDATA_DELETE = 2; +const int LINKSETDATA_MULTIDELETE = 3; + +const int LINKSETDATA_OK = 0; +const int LINKSETDATA_EMEMORY = 1; +const int LINKSETDATA_ENOKEY = 2; +const int LINKSETDATA_EPROTECTED = 3; +const int LINKSETDATA_NOTFOUND = 4; +const int LINKSETDATA_NOUPDATE = 5; + const int LIST_STAT_RANGE = 0; const int LIST_STAT_MIN = 1; const int LIST_STAT_MAX = 2;