Next: Error Messaging, Previous: Required Back End Functions, Up: Back End Interface
(nnchoke-retrieve-groups GROUPS &optional SERVER)The return value of this function can be either active or
group, which says what the format of the result data is. The
former is in the same format as the data from
nnchoke-request-list, while the latter is a buffer full of lines
in the same format as nnchoke-request-group gives.
group-buffer = *active-line / *group-status
(nnchoke-request-update-info GROUP INFO &optional SERVER)nil value (exceptionally,
nntp-request-update-info always returns nil not to waste
the network resources).
There should be no result data from this function.
(nnchoke-request-type GROUP &optional ARTICLE)news if article in group is news, mail if it
is mail and unknown if the type can't be decided. (The
article parameter is necessary in nnvirtual groups which
might very well combine mail groups and news groups.) Both group
and article may be nil.
There should be no result data from this function.
(nnchoke-request-set-mark GROUP ACTION &optional SERVER)action is a list of mark setting requests, having this format:
(RANGE ACTION MARK)
range is a range of articles you wish to update marks on.
action is add or del, used to add marks or remove
marks (preserving all marks not mentioned). mark is a list of
marks; where each mark is a symbol. Currently used marks are
read, tick, reply, expire, killed,
dormant, save, download, unsend, and
forward, but your back end should, if possible, not limit
itself to these.
Given contradictory actions, the last action in the list should be the
effective one. That is, if your action contains a request to add the
tick mark on article 1 and, later in the list, a request to
remove the mark on the same article, the mark should in fact be removed.
An example action list:
(((5 12 30) 'del '(tick))
((10 . 90) 'add '(read expire))
((92 94) 'del '(read)))
The function should return a range of articles it wasn't able to set the mark on (currently not used for anything).
There should be no result data from this function.
(nnchoke-request-update-mark GROUP ARTICLE MARK)nil or any other type of garbage.
The only use for this I can see is what nnvirtual does with
it—if a component group is auto-expirable, marking an article as read
in the virtual group should result in the article being marked as
expirable.
There should be no result data from this function.
(nnchoke-request-scan &optional GROUP SERVER)There should be no result data from this function.
(nnchoke-request-group-description GROUP &optional SERVER) description-line = name <TAB> description eol
name = <string>
description = <text>
(nnchoke-request-list-newsgroups &optional SERVER)description-buffer = *description-line
(nnchoke-request-newgroups DATE &optional SERVER)message-make-date by default). The data should be
in the active buffer format.
It is okay for this function to return “too many” groups; some back ends
might find it cheaper to return the full list of groups, rather than
just the new groups. But don't do this for back ends with many groups.
Normally, if the user creates the groups herself, there won't be too
many groups, so nnml and the like are probably safe. But for
back ends like nntp, where the groups have been created by the
server, it is quite likely that there can be many groups.
(nnchoke-request-create-group GROUP &optional SERVER)There should be no return data.
(nnchoke-request-expire-articles ARTICLES &optional GROUP SERVER FORCE)nil, all articles should be deleted, no matter how new
they are.
This function should return a list of articles that it did not/was not able to delete.
There should be no result data returned.
(nnchoke-request-move-article ARTICLE GROUP SERVER ACCEPT-FORM &optional LAST)This function should ready the article in question for moving by
removing any header lines it has added to the article, and generally
should “tidy up” the article. Then it should eval
accept-form in the buffer where the “tidy” article is. This
will do the actual copying. If this eval returns a
non-nil value, the article should be removed.
If last is nil, that means that there is a high likelihood
that there will be more requests issued shortly, so that allows some
optimizations.
The function should return a cons where the car is the group name and
the cdr is the article number that the article was entered as.
There should be no data returned.
(nnchoke-request-accept-article GROUP &optional SERVER LAST)nil, that means that there will be more calls to
this function in short order.
The function should return a cons where the car is the group name and
the cdr is the article number that the article was entered as.
The group should exist before the back end is asked to accept the article for that group.
There should be no data returned.
(nnchoke-request-replace-article ARTICLE GROUP BUFFER)There should be no data returned.
(nnchoke-request-delete-group GROUP FORCE &optional SERVER)There should be no data returned.
(nnchoke-request-rename-group GROUP NEW-NAME &optional SERVER)There should be no data returned.