comp.lang.ada
 help / color / mirror / Atom feed
From: Daniel <danielnorberto@gmail.com>
Subject: Re: Visibility issue
Date: Tue, 15 Sep 2020 12:35:48 -0700 (PDT)	[thread overview]
Message-ID: <cb79fa3c-0153-47d4-9e28-6e1f16a1b7f6n@googlegroups.com> (raw)
In-Reply-To: <rjnvgb$1gtv$1@gioia.aioe.org>

El lunes, 14 de septiembre de 2020 a las 16:42:26 UTC+2, Dmitry A. Kazakov escribió:
> task body Caller is 
> My_Handle : Handle := Create (6); 
Dmitry, let me paste my answer i give to Jeff as an introduction to explain better the problem. First of all, I want to thank you to point me to different options. I will think about to refactoring everything i have or even build from scratch if I'm not able to build from what i already have.

For the requirements, It's not a problem to have a public constructor for the handle, in fact, i will need one for users. The real problem is to have constructors or function that i need to be visible from implementing packages and at the same time NOT visible from users that only are allowed to do a "with API.XXX"

I have the next requirements:
- I need to pack all calls from users in just one Package API Hierarchy.
- The details and complexity of the implementation needs to be outside of this API hierarchy as much as possible.
-I need to use tagged types as much as possible for the calls from users to API package. (I'm not a big fan of this also but its a requirement)
-This API tagged types needs to connect the API Side with the implementation packages.
-The user needs to set a limited number of callback procedure with this flavor: "Procedure (S : in out Tagged_APi_Type)"
-The Implementation package needs to trigger the procedure defined in the API. (Here comes to problems):
-->The implementation package needs to manipulate some hide part of the Tagged_API_Type when is triggered
------>Here comes the problem. From the implementing  package  is not possible to see the private part of the API package. I think because visibility is not related to type, is related to package where package exists.

  reply	other threads:[~2020-09-15 19:35 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-11 10:37 Visibility issue Daniel
2020-09-11 11:51 ` Maxim Reznik
2020-09-11 20:11   ` Daniel
2020-09-11 14:23 ` Jeffrey R. Carter
2020-09-11 20:17   ` Daniel
2020-09-11 22:36     ` Jeffrey R. Carter
2020-09-14 10:47       ` Daniel
2020-09-14 16:10         ` Jeffrey R. Carter
2020-09-15 19:11           ` Daniel
2020-09-15 20:03             ` Jeffrey R. Carter
2020-09-11 21:05 ` Dmitry A. Kazakov
2020-09-14 11:33   ` Daniel
2020-09-14 14:42     ` Dmitry A. Kazakov
2020-09-15 19:35       ` Daniel [this message]
2020-09-16  7:14         ` Dmitry A. Kazakov
2020-09-16 10:23           ` Daniel
2020-09-16 10:58             ` Dmitry A. Kazakov
2020-09-16 14:35               ` Daniel
2020-09-16 14:49                 ` Jeffrey R. Carter
2020-09-16 15:05                 ` Dmitry A. Kazakov
2020-09-16 20:09                   ` Daniel
2020-09-16 21:48                     ` Simon Wright
2020-09-17 13:31                       ` Daniel
2020-09-17 15:00                         ` Dmitry A. Kazakov
2020-09-17 15:32                           ` Daniel
2020-09-17 16:47                             ` Dmitry A. Kazakov
2020-09-18  8:05                         ` Simon Wright
2020-09-14 16:18 ` Simon Wright
2020-09-17 15:58 ` Jere
2020-09-17 16:10 ` Jere
2020-09-18  8:08   ` Simon Wright
2020-09-17 21:47 ` Shark8
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox