COSNOTIFYCHANNELADMIN_PROXYSUPPLIER(3erl)

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

πŸ’– CosNotifyChannelAdmin_ProxySupplier β€” the Erlang module, bestie edition

okay so this is the manual page for CosNotifyChannelAdmin_ProxySupplier (3erl), aka the Erlang module definition that implements the OMG CosNotifyChannelAdmin::ProxySupplier interface. yes it's a mouthful. no we are not shortening it. it's iconic, it's giving CORBA, periodt.


✨ NAME ✨

CosNotifyChannelAdmin_ProxySupplier β€” this module implements the OMG CosNotifyChannelAdmin::ProxySupplier interface. that's the whole name. that's the whole job. πŸŽ€


🌸 DESCRIPTION 🌸

so if you wanna get access to the record definitions for the structures, bestie, you're gonna do this:

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

and also!! this module exports the functions described in these two other modules, so lowkey it's a whole little ecosystem:

  • CosNotification_QoSAdmin
  • CosNotifyFilter_FilterAdmin

πŸ‘‘ EXPORTS πŸ‘‘

πŸ’… _get_MyType(ProxySupplier) -> ProxyType

Types:

ProxySupplier = #objref
ProxyType = 'PUSH_ANY' | 'PULL_ANY' | 'PUSH_STRUCTURED' |
'PULL_STRUCTURED' | 'PUSH_SEQUENCE' | 'PULL_SEQUENCE'

this readonly attribute keeps the enumerant that describes which type the target object is. like, it tells you what flavor of supplier you're dealing with. main character identification energy. ⭐


πŸ’… _get_MyAdmin(ProxySupplier) -> AdminObject

Types:

ProxySupplier = #objref
AdminObject = #objref

this readonly attribute holds onto the admin's reference β€” the one that created the target object. it's giving "who's your mom" but for CORBA objects. 🫢


πŸ’… _get_priority_filter(ProxySupplier) -> MappingFilter

Types:

ProxySupplier = #objref
MappingFilter = #objref

this operation returns the associated priority MappingFilter. and if no such object exists?? you get a NIL reference back. no filter, no problem. πŸ’€


πŸ’… _set_priority_filter(ProxySupplier, MappingFilter) -> ok

Types:

ProxySupplier = #objref
MappingFilter = #objref

this operation associates a new priority MappingFilter with the target object. out with the old, in with the slay. ✨


πŸ’… _get_lifetime_filter(ProxySupplier) -> MappingFilter

Types:

ProxySupplier = #objref
MappingFilter = #objref

this operation returns the associated lifetime MappingFilter. and again, if no such object exists, you get a NIL reference. same vibe, different filter. πŸ¦‹


πŸ’… _set_lifetime_filter(ProxySupplier, MappingFilter) -> ok

Types:

ProxySupplier = #objref
MappingFilter = #objref

this operation associates a new lifetime MappingFilter with the target object. setting the vibe, literally. πŸ’œ


πŸ’… obtain_offered_types(ProxySupplier, ObtainInfoMode) -> EventTypeSeq

Types:

ProxySupplier = #objref
ObtainInfoMode = 'ALL_NOW_UPDATES_OFF' | 'ALL_NOW_UPDATES_ON'
| 'NONE_NOW_UPDATES_OFF' | 'NONE_NOW_UPDATES_ON'
EventTypeSeq = [EventType]
EventType = #'CosNotification_EventType'{domain_name,
type_name}
domain_name = type_name = string()

okay so depending on the input parameter ObtainInfoMode, this operation may return a sequence of the EventTypes the target object is interested in receiving. so:

  • if you pass 'ALL_NOW_UPDATES_OFF' or 'ALL_NOW_UPDATES_ON' β†’ you get a sequence back πŸ’–
  • otherwise β†’ nope, no sequence for you πŸ™ˆ

and the update tea β˜•:

  • 'ALL_NOW_UPDATES_OFF' or 'NONE_NOW_UPDATES_OFF' β†’ the target object will not inform the associated NotifySubscribe object when an update occurs
  • 'ALL_NOW_UPDATES_ON' or 'NONE_NOW_UPDATES_ON' β†’ update information will be sent

so like, ON means you're on the group chat, OFF means you left it on read. 😭


πŸ’… validate_event_qos(ProxySupplier, QoSProperties) -> Reply

Types:

ProxySupplier = #objref
QoSProperties = [QoSProperty]
QoSProperty = #'CosNotification_Property'{name, value}
name = string()
value = #any
Reply = {ok, NamedPropertyRangeSeq} | {'EXCEPTION',
CosNotification_UnsupportedQoS{qos_err}}
NamedPropertyRangeSeq = [NamedPropertyRange]
NamedPropertyRange = #CosNotification_NamedPropertyRange{name,
range}
name = string()
range = #CosNotification_PropertyRange{low_val, high_val}
low_val = #any
high_val = #any
qos_err = PropertyErrorSeq
PropertyErrorSeq = [PropertyError]
PropertyError = #'CosNotification_PropertyError'{code, name,
available_range}
code = 'UNSUPPORTED_PROPERTY' | 'UNAVAILABLE_PROPERTY' |
'UNSUPPORTED_VALUE' | 'UNAVAILABLE_VALUE' | 'BAD_PROPERTY' |
'BAD_TYPE' | 'BAD_VALUE'
name = string()
available_range = PropertyRange
PropertyRange = #CosNotification_PropertyRange{low_val,
high_val}
low_val = high_val = #any

so if you wanna check whether certain Quality of Service properties can be added to events in the current context of the target object, this is the operation you use. and if we can't support the required settings?? an exception gets raised describing exactly why. it's not a vibe check, it's a QoS check, and it will read you to filth with a full error report. πŸ”₯

ngl, the code enum here is a whole mood ring: 'UNSUPPORTED_PROPERTY', 'UNAVAILABLE_PROPERTY', 'UNSUPPORTED_VALUE', 'UNAVAILABLE_VALUE', 'BAD_PROPERTY', 'BAD_TYPE', 'BAD_VALUE'. memorize them, iykyk. πŸ‘‘

🌈 SEE ALSO 🌈

lowkey the see-also here is the two modules we already shouted out up top β€” CosNotification_QoSAdmin and CosNotifyFilter_FilterAdmin β€” since this module exports the functions described in them. go read those next, bestie. πŸ’–


and that's the whole page!! brought to you by Ericsson AB, cosNotification version 5.2.2, filing under CosNotifyC...oxySupplier(3) β€” stay slaying, stay notified, and don't forget to include your hrl files. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from