comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: Publishing selected entries in a protected object?
Date: Thu, 09 Feb 2012 12:29:59 -0700
Date: 2012-02-09T12:29:59-07:00	[thread overview]
Message-ID: <jh16ro$1pc6$1@adenine.netfront.net> (raw)
In-Reply-To: <87wr7wkyp5.fsf@adaheads.sparre-andersen.dk>

On 02/09/2012 04:56 AM, Jacob Sparre Andersen wrote:
> I have a package containing a protected object, and I would like to
> publish _one_ of this object's entries in the specification of the
> package.
>
> Since I want to be able to use the entry in a select statement, I can't
> just encapsulate it in a procedure and make that available in the
> package specification.
>
> And if I move the declaration of the protected object to the package
> specification, but move the other entries to the private part of the
> protected object, I can't access the other entries from the private part
> of my package.

package P is
    protected Public is
       entry E;
    end Public;
end P;

package body P is
    protected Hidden is
       entry E;
       entry Internal;
    private -- Hidden
       ...
    end Hidden;

    protected body Public is
       entry E when True is
          -- null;
       begin -- E
          requeue Hidden.E [with abort];
       end E;
    end Public;

    ...
end P;


-- 
Jeff Carter
"IMHO, Interfaces are worthless."
Randy Brukardt
117

--- Posted via news://freenews.netfront.net/ - Complaints to news@netfront.net ---



      parent reply	other threads:[~2012-02-09 19:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-09 11:56 Publishing selected entries in a protected object? Jacob Sparre Andersen
2012-02-09 13:42 ` Dmitry A. Kazakov
2012-02-09 13:59 ` Georg Bauhaus
2012-02-09 18:24   ` AdaMagica
2012-02-10  1:29   ` Randy Brukardt
2012-02-09 19:29 ` Jeffrey Carter [this message]
replies disabled

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