CosNotifyC...entChannel(3)

πŸ“¦
version 5.2.2 Β· 2 versions
, in fedora 43, fedora 44

✨ CosNotifyChannelAdmin_EventChannel ✨

okay bestie, welcome to CosNotifyChannelAdmin_EventChannel πŸ’– this is the Erlang module that implements the OMG CosNotifyChannelAdmin::EventChannel interface. yes, the whole thing. it's giving event channel main character energy πŸ‘‘


🌸 NAME 🌸

CosNotifyChannelAdmin_EventChannel β€” this module implements the OMG CosNotifyChannelAdmin::EventChannel interface. that's it, that's the name, no cap 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

so to get access to the record definitions for the structures, use this exactly, don't freestyle it:

-include_lib("cosNotification/include/*.hrl").

also, this module exports the functions described in:

  • CosNotification_QoSAdmin
  • CosNotification_AdminPropertiesAdmin

so like, extra powers borrowed from those two, iykyk ✨


πŸ’… EXPORTS πŸ’…

here come the functions, one by one, no skipping, we're doing all of them πŸ’œ

πŸŽ€ _get_MyFactory(Channel) -> ChannelFactory

Types:

Channel = #objref
ChannelFactory = #objref

this readonly attribute literally maintains the reference of the event channel factory that created the target channel. so it's like, who's your parent? this attribute knows 🫢

πŸŽ€ _get_default_consumer_admin(Channel) -> ConsumerAdmin

Types:

Channel = #objref
ConsumerAdmin = #objref

readonly attribute, and it keeps a reference to a default ConsumerAdmin object associated with the target object. default bestie admin, lowkey iconic 🌈

πŸŽ€ _get_default_supplier_admin(Channel) -> SupplierAdmin

Types:

Channel = #objref
SupplierAdmin = #objref

same vibe, different side: this readonly attribute maintains a reference to a default SupplierAdmin object associated with the target object πŸ’«

πŸŽ€ _get_default_filter_factory(Channel) -> FilterFactory

Types:

Channel = #objref
FilterFactory = #objref

the default FilterFactory associated with the target channel is maintained by this readonly attribute. filtering? handled. periodt 🧚

πŸŽ€ new_for_consumers(Channel, OpType) -> Return

Types:

Channel = #objref
OpType = 'AND_OP' | 'OR_OP'
Return = {ConsumerAdmin, AdminID}
ConsumerAdmin = #objref
AdminID = long()

this operation creates a new instance of a ConsumerAdmin and supplies an Id which may be used when invoking other operations exported by this module. the returned object will inherit the Quality of Service properties of the target channel. so it comes out already dressed in the channel's QoS drip πŸ”₯

πŸŽ€ for_consumers(Channel) -> ConsumerAdmin

Types:

Channel = #objref
ConsumerAdmin = #objref

a new instance of a ConsumerAdmin object is created, but no Id is returned. the returned object's operation type β€” so like 'AND_OP' or 'OR_OP' β€” will be set to the value of the configuration parameter filterOp. and the target object's Quality of Service properties will be inherited by the returned ConsumerAdmin. yes, again, inherited, it's a whole family situation 😭

πŸŽ€ new_for_suppliers(Channel, OpType) -> Return

Types:

Channel = #objref
OpType = 'AND_OP' | 'OR_OP'
Return = {SupplierAdmin, AdminID}
SupplierAdmin = #objref
AdminID = long()

enables us to create a new instance of a SupplierAdmin. an Id, which may be used when invoking other operations exported by this module, is also returned. the current Quality of Service settings associated with the target object will be inherited by the SupplierAdmin. slay, inherited QoS again πŸ’…

πŸŽ€ for_suppliers(Channel) -> SupplierAdmin

Types:

Channel = #objref
SupplierAdmin = #objref

to create a new SupplierAdmin with the target object's current Quality of Service settings, we can use this function. the returned object's operation type ('AND_OP' or 'OR_OP') will be determined by the configuration variable filterOp. yes bestie, same config variable, she's everywhere 🌸

πŸŽ€ get_consumeradmin(Channel, AdminID) -> ConsumerAdmin

Types:

Channel = #objref
AdminID = long()
ConsumerAdmin = #objref | {'EXCEPTION',
#'CosNotifyChannelAdmin_AdminNotFound'{}}

if the given Id is associated with a ConsumerAdmin, the object reference is returned. but if such association never existed, or the ConsumerAdmin have terminated β€” exception time. it gets raised. so heads up 🚨

πŸŽ€ get_supplieradmin(Channel, AdminID) -> SupplierAdmin

Types:

Channel = #objref
AdminID = long()
SupplierAdmin = #objref | {'EXCEPTION',
#'CosNotifyChannelAdmin_AdminNotFound'{}}

equal to the operation get_consumeradmin/2, except a reference to a SupplierAdmin is returned instead. twins, basically πŸ‘―

πŸŽ€ get_all_consumeradmins(Channel) -> Reply

Types:

Channel = #objref
Reply = [AdminID]
AdminID = long()

to get access to all ConsumerAdmin Id's created by the target object, and still alive, this operation could be invoked. the alive ones only, we don't do ghosts here πŸ’€

πŸŽ€ get_all_supplieradmins(Channel) -> Reply

Types:

Channel = #objref
Reply = [AdminID]
AdminID = long()

equal to the operation get_all_consumeradmins/1, but it returns a list of all SupplierAdmin object ID's. same energy, other side ⭐

πŸŽ€ destroy(Channel) -> ok

Types:

Channel = #objref

the destroy operation will terminate the target channel and all associated Admin objects. yeah. all of them. it's not a soft launch, it's a full shutdown πŸ’€πŸ”₯

⚠️ real talk: destroy takes the whole friend group with it β€” the target channel and every associated Admin object. do not invoke this casually.

and that's the whole page, bestie πŸŽ€ that was CosNotifyChannelAdmin_EventChannel from the cosNotification docs, version 5.2.2, brought to you by Ericsson AB πŸ’– go forth and admin your event channels responsibly, ily 🫢✨

πŸ“¦ where this page comes from