| 606 | |
| 607 | |
| 608 | void CustomFunctionLibrary::RegisterStatusFunctions() |
| 609 | { |
| 610 | auto & functionMgr = osiris_.GetCustomFunctionManager(); |
| 611 | |
| 612 | auto iterateCharacterStatuses = std::make_unique<CustomCall>( |
| 613 | "NRD_IterateStatuses", |
| 614 | std::vector<CustomFunctionParam>{ |
| 615 | { "ObjectGuid", ValueType::GuidString, FunctionArgumentDirection::In }, |
| 616 | { "Event", ValueType::String, FunctionArgumentDirection::In } |
| 617 | }, |
| 618 | &func::IterateStatuses |
| 619 | ); |
| 620 | functionMgr.Register(std::move(iterateCharacterStatuses)); |
| 621 | |
| 622 | auto getStatusHandle = std::make_unique<CustomQuery>( |
| 623 | "NRD_StatusGetHandle", |
| 624 | std::vector<CustomFunctionParam>{ |
| 625 | { "Object", ValueType::GuidString, FunctionArgumentDirection::In }, |
| 626 | { "StatusId", ValueType::String, FunctionArgumentDirection::In }, |
| 627 | { "StatusHandle", ValueType::Integer64, FunctionArgumentDirection::Out }, |
| 628 | }, |
| 629 | &func::StatusGetHandle |
| 630 | ); |
| 631 | functionMgr.Register(std::move(getStatusHandle)); |
| 632 | |
| 633 | auto getStatusAttributeInt = std::make_unique<CustomQuery>( |
| 634 | "NRD_StatusGetInt", |
| 635 | std::vector<CustomFunctionParam>{ |
| 636 | { "Object", ValueType::GuidString, FunctionArgumentDirection::In }, |
| 637 | { "StatusHandle", ValueType::Integer64, FunctionArgumentDirection::In }, |
| 638 | { "Attribute", ValueType::String, FunctionArgumentDirection::In }, |
| 639 | { "Value", ValueType::Integer, FunctionArgumentDirection::Out }, |
| 640 | }, |
| 641 | &func::StatusGetAttribute<OsiPropertyMapType::Integer> |
| 642 | ); |
| 643 | functionMgr.Register(std::move(getStatusAttributeInt)); |
| 644 | |
| 645 | auto getStatusAttributeReal = std::make_unique<CustomQuery>( |
| 646 | "NRD_StatusGetReal", |
| 647 | std::vector<CustomFunctionParam>{ |
| 648 | { "Object", ValueType::GuidString, FunctionArgumentDirection::In }, |
| 649 | { "StatusHandle", ValueType::Integer64, FunctionArgumentDirection::In }, |
| 650 | { "Attribute", ValueType::String, FunctionArgumentDirection::In }, |
| 651 | { "Value", ValueType::Real, FunctionArgumentDirection::Out }, |
| 652 | }, |
| 653 | &func::StatusGetAttribute<OsiPropertyMapType::Real> |
| 654 | ); |
| 655 | functionMgr.Register(std::move(getStatusAttributeReal)); |
| 656 | |
| 657 | auto getStatusAttributeString = std::make_unique<CustomQuery>( |
| 658 | "NRD_StatusGetString", |
| 659 | std::vector<CustomFunctionParam>{ |
| 660 | { "Object", ValueType::GuidString, FunctionArgumentDirection::In }, |
| 661 | { "StatusHandle", ValueType::Integer64, FunctionArgumentDirection::In }, |
| 662 | { "Attribute", ValueType::String, FunctionArgumentDirection::In }, |
| 663 | { "Value", ValueType::String, FunctionArgumentDirection::Out }, |
| 664 | }, |
| 665 | &func::StatusGetAttribute<OsiPropertyMapType::String> |