Dear list members!

I am new to XS and have not found the solution to my
problem in either docs or CPAN modules' sources so far.

I want to implement a perl object as a hash reference
but I want some functionality to be implemented in C
which requires to bind some C struct with this perl
object. The question is how this can be accomplished.
The obvious solution (storing a pointer to the struct
as one of the hash's value) has the obvious objection:
anyone has access to this value at perl level as
  $obj->{key} = "whatever";
or even
  delete($obj->{key});

Nevertheless the CPAN modules I investigated use either
this approach or they implement all functionality in C.
In the latter case the object is implemented as a reference
to a scalar which holds memory address so perl code like:
  $$obj = 0x12345;
may break up all the internal C implementation.

So my question is whether it is possible to completely hide
C internals from perl level.

-- 
Yours sincerely,
Vadim.


Reply via email to